From 529c84b4ee31f51925a9ac14247a94a428592c7d Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Mon, 1 Jul 2019 12:58:03 +1000 Subject: jsmn: Fix a parser bug where object keys could be non-strings Signed-off-by: Steve Bennett --- jsmn/jsmn.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jsmn/jsmn.c b/jsmn/jsmn.c index 853c3f1..2de5ec2 100644 --- a/jsmn/jsmn.c +++ b/jsmn/jsmn.c @@ -170,6 +170,10 @@ int jsmn_parse(jsmn_parser *parser, const char *js, size_t len, if (token == NULL) return JSMN_ERROR_NOMEM; if (parser->toksuper != -1) { + if (tokens[parser->toksuper].type == JSMN_OBJECT) { + /* Object keys must be strings, not objects or arrays */ + return JSMN_ERROR_INVAL; + } tokens[parser->toksuper].size++; #ifdef JSMN_PARENT_LINKS token->parent = parser->toksuper; -- cgit v1.2.3