Bugfix: add missing transition from finish state.
This commit is contained in:
parent
7acb0c181e
commit
7d33b01515
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user