diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h index 0806d966..4a184c0a 100644 --- a/include/rapidjson/reader.h +++ b/include/rapidjson/reader.h @@ -277,6 +277,9 @@ private: RAPIDJSON_PARSE_ERROR("Name of an object member must be a string", is.Tell()); ParseString(is, handler); + if (HasParseError()) + return; + SkipWhitespace(is); if (is.Take() != ':') @@ -285,6 +288,9 @@ private: SkipWhitespace(is); ParseValue(is, handler); + if (HasParseError()) + return; + SkipWhitespace(is); ++memberCount; @@ -313,6 +319,9 @@ private: for (SizeType elementCount = 0;;) { ParseValue(is, handler); + if (HasParseError()) + return; + ++elementCount; SkipWhitespace(is);