summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-29 22:23:07 +0000
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-29 22:23:07 +0000
commit3948d83795d68d665b8b969c08b6c40498eb2661 (patch)
treea22332f539977c299190067e329ced87a68f850f /json-glib/json-parser.c
parent6182457fa305a1f159e9009d3fbef42a93f2768e (diff)
downloadjson-glib-3948d83795d68d665b8b969c08b6c40498eb2661.tar.gz
More sanity checks for objects
Add a check for commas after complex data types inside object members.
Diffstat (limited to 'json-glib/json-parser.c')
-rw-r--r--json-glib/json-parser.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c
index e8aed72..4b89db1 100644
--- a/json-glib/json-parser.c
+++ b/json-glib/json-parser.c
@@ -600,6 +600,9 @@ json_parse_object (JsonParser *parser,
if (token == G_TOKEN_RIGHT_CURLY)
break;
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_RIGHT_CURLY;
+
continue;
}
@@ -632,9 +635,12 @@ json_parse_object (JsonParser *parser,
g_free (name);
token = g_scanner_get_next_token (scanner);
- if (token == G_TOKEN_RIGHT_BRACE)
+ if (token == G_TOKEN_RIGHT_CURLY)
break;
+ if (token != G_TOKEN_COMMA)
+ return G_TOKEN_RIGHT_CURLY;
+
continue;
}