summaryrefslogtreecommitdiff
path: root/src/json_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/json_ui.cc')
-rw-r--r--src/json_ui.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/json_ui.cc b/src/json_ui.cc
index 962ef693..01d95f9c 100644
--- a/src/json_ui.cc
+++ b/src/json_ui.cc
@@ -296,7 +296,9 @@ parse_json(const char* pos, const char* end)
if (*pos == '[')
{
JsonArray array;
- if (*++pos == ']')
+ if (++pos == end)
+ throw runtime_error("unable to parse array");
+ if (*pos == ']')
return Result{std::move(array), pos+1};
while (true)
@@ -319,8 +321,10 @@ parse_json(const char* pos, const char* end)
}
if (*pos == '{')
{
+ if (++pos == end)
+ throw runtime_error("unable to parse object");
JsonObject object;
- if (*++pos == '}')
+ if (*pos == '}')
return Result{std::move(object), pos+1};
while (true)