From a983a7606136a3dfd538a9940c5ebf48d200251c Mon Sep 17 00:00:00 2001 From: "Serge A. Zaitsev" Date: Thu, 2 Feb 2012 13:15:22 +0200 Subject: added reading with small number of tokens test, fixed NOMEM issue #2 --- jsmn.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'jsmn.c') diff --git a/jsmn.c b/jsmn.c index cca3bbcbf..ef53cc0d2 100644 --- a/jsmn.c +++ b/jsmn.c @@ -60,8 +60,10 @@ static int jsmn_parse_primitive(jsmn_parser *parser, const char *js, found: token = jsmn_alloc_token(parser, tokens, num_tokens); - if (token == NULL) + if (token == NULL) { + parser->pos = start; return JSMN_ERROR_NOMEM; + } jsmn_fill_token(token, JSMN_PRIMITIVE, start, parser->pos); parser->pos--; return JSMN_SUCCESS; @@ -85,8 +87,10 @@ static int jsmn_parse_string(jsmn_parser *parser, const char *js, /* Quote: end of string */ if (c == '\"') { token = jsmn_alloc_token(parser, tokens, num_tokens); - if (token == NULL) + if (token == NULL) { + parser->pos = start; return JSMN_ERROR_NOMEM; + } jsmn_fill_token(token, JSMN_STRING, start+1, parser->pos); return JSMN_SUCCESS; } -- cgit v1.2.3