diff --git a/src/JSONValue.cpp b/src/JSONValue.cpp index 80317b2..928354e 100644 --- a/src/JSONValue.cpp +++ b/src/JSONValue.cpp @@ -59,9 +59,9 @@ JSONValue *JSONValue::Parse(const char **data) } // Is it a boolean? - else if ((simplejson_wcsnlen(*data, 4) && strcasecmp(*data, "true") == 0) || (simplejson_wcsnlen(*data, 5) && strcasecmp(*data, "false") == 0)) + else if ((simplejson_wcsnlen(*data, 4) && strncasecmp(*data, "true", 4) == 0) || (simplejson_wcsnlen(*data, 5) && strncasecmp(*data, "false", 5) == 0)) { - bool value = strcasecmp(*data, "true") == 0; + bool value = strncasecmp(*data, "true", 4) == 0; (*data) += value ? 4 : 5; return new JSONValue(value); }