diff options
author | Christian Gagneraud <chris@techworks.ie> | 2012-06-06 13:33:39 +0100 |
---|---|---|
committer | Christian Gagneraud <chris@techworks.ie> | 2012-06-20 10:05:41 +0100 |
commit | 6f34d11aae04a9a9d47c3a4f6af3d5a55774b53e (patch) | |
tree | ac75981344656674334d6f0a00252e75567305b0 /json.c | |
parent | a307361e9942df5be76c1498007c296f6ea5b1fd (diff) | |
download | gpsd-6f34d11aae04a9a9d47c3a4f6af3d5a55774b53e.tar.gz |
json parser: fix empty array bug
Diffstat (limited to 'json.c')
-rw-r--r-- | json.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -529,6 +529,13 @@ int json_read_array(const char *cp, const struct json_array_t *arr, tp = arr->arr.strings.store; arrcount = 0; + + /* Check for empty array */ + while (isspace(*cp)) + cp++; + if (*cp == ']') + goto breakout; + for (offset = 0; offset < arr->maxlen; offset++) { json_debug_trace((1, "Looking at %s\n", cp)); switch (arr->element_type) { |