diff options
author | Serge A. Zaitsev <devnull@localhost> | 2012-02-02 13:15:22 +0200 |
---|---|---|
committer | Serge A. Zaitsev <devnull@localhost> | 2012-02-02 13:15:22 +0200 |
commit | a983a7606136a3dfd538a9940c5ebf48d200251c (patch) | |
tree | 5ffb99cd0e84254a69600343c1cf502efcf30ac0 /jsmn.c | |
parent | 53454e542929d07b6fea438fd112eed2f7d865b4 (diff) |
added reading with small number of tokens test, fixed NOMEM issue #2
Diffstat (limited to 'jsmn.c')
-rw-r--r-- | jsmn.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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; } |