diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/skjson/src/SkJSON.cpp | 4 | ||||
-rw-r--r-- | modules/skjson/src/SkJSONTest.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/modules/skjson/src/SkJSON.cpp b/modules/skjson/src/SkJSON.cpp index 7f082d7294..d423715947 100644 --- a/modules/skjson/src/SkJSON.cpp +++ b/modules/skjson/src/SkJSON.cpp @@ -355,6 +355,10 @@ public: : this->error(NullValue(), p + 1, "trailing root garbage"); } + if (p == p_stop) { + return this->error(NullValue(), p, "unexpected end-of-input"); + } + ++p; goto match_post_value; diff --git a/modules/skjson/src/SkJSONTest.cpp b/modules/skjson/src/SkJSONTest.cpp index 91ae497cf0..1aaa278fb8 100644 --- a/modules/skjson/src/SkJSONTest.cpp +++ b/modules/skjson/src/SkJSONTest.cpp @@ -49,6 +49,7 @@ DEF_TEST(SkJSON_Parse, reporter) { { "[ \"foo" , nullptr }, { "[ \"fo\0o\" ]" , nullptr }, + { "{\"\":{}" , nullptr }, { "{ null }" , nullptr }, { "{ \"k\" : }" , nullptr }, { "{ : null }" , nullptr }, |