From a22f0f5dd020958c7a61282e067479add99a0a5a Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 24 Dec 2021 02:49:56 +0100 Subject: json: Update parser (jsmn) to verify the length of the input data This way the string doesn't have to be 0-terminated. --- src/jsmn.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/jsmn.h') diff --git a/src/jsmn.h b/src/jsmn.h index f12dc5a..380744d 100644 --- a/src/jsmn.h +++ b/src/jsmn.h @@ -72,6 +72,7 @@ typedef struct { */ typedef struct { unsigned int pos; /* offset in the JSON string */ + unsigned int end; /* offset after last character of JSON string */ int toknext; /* next token to allocate */ int toksuper; /* superior token node, e.g parent object or array */ } jsmn_parser; @@ -85,7 +86,7 @@ void jsmn_init(jsmn_parser *parser); * Run JSON parser. It parses a JSON data string into and array of tokens, each describing * a single JSON object. */ -jsmnerr_t jsmn_parse(jsmn_parser *parser, const char *js, +jsmnerr_t jsmn_parse(jsmn_parser *parser, const char *js, unsigned int length, jsmntok_t *tokens, unsigned int num_tokens); #endif /* __JSMN_H_ */ -- cgit v1.1-32-gdbae