Commit 7d33b015 authored by thebusytypist's avatar thebusytypist

Bugfix: add missing transition from finish state.

parent 7acb0c18
......@@ -947,6 +947,11 @@ private:
case IterativeParsingArrayContentState:
r = TransitFromArrayStates<parseFlags>(state, is, handler);
break;
case IterativeParsingFinishState:
// Any token appears after finish state leads to error state.
r = IterativeParsingErrorState;
RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentRootNotSingular, is.Tell());
break;
}
return r;
......
......@@ -900,6 +900,16 @@ TEST(Reader, IterativeParsing_ElementCounting) {
EXPECT_EQ(1, handler.ElementCount);
}
TEST(Reader, IterativeParsing_AfterFinishState) {
StringStream json("{}, {}");
Reader reader;
BaseReaderHandler<> handler;
reader.IterativeParse<kParseIterativeFlag>(json, handler);
EXPECT_TRUE(reader.HasParseError());
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment