diff options
author | Petri Lehtinen <petri@digip.org> | 2017-12-13 07:07:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-13 07:07:33 +0200 |
commit | bc5c6826ef8db4f576b44799ee4aba61cfa7c40e (patch) | |
tree | 5415462b9f7ac332618a839762d9cc12361f8efb | |
parent | 217859f8498bb2f666cb84e48a5741c43d9d8be0 (diff) | |
parent | bd91753e913194f008d1854d44834f86616da583 (diff) | |
download | jansson-bc5c6826ef8db4f576b44799ee4aba61cfa7c40e.zip jansson-bc5c6826ef8db4f576b44799ee4aba61cfa7c40e.tar.gz jansson-bc5c6826ef8db4f576b44799ee4aba61cfa7c40e.tar.bz2 |
Merge pull request #377 from coreyfarrell/extra-refs
Remove extra reference actions in parsers.
-rw-r--r-- | src/load.c | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -738,13 +738,11 @@ static json_t *parse_object(lex_t *lex, size_t flags, json_error_t *error) goto error; } - if(json_object_set_nocheck(object, key, value)) { + if(json_object_set_new_nocheck(object, key, value)) { jsonp_free(key); - json_decref(value); goto error; } - json_decref(value); jsonp_free(key); lex_scan(lex, error); @@ -781,11 +779,9 @@ static json_t *parse_array(lex_t *lex, size_t flags, json_error_t *error) if(!elem) goto error; - if(json_array_append(array, elem)) { - json_decref(elem); + if(json_array_append_new(array, elem)) { goto error; } - json_decref(elem); lex_scan(lex, error); if(lex->token != ',') |