summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xs_json.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/xs_json.h b/xs_json.h
index f529b47..5280b14 100644
--- a/xs_json.h
+++ b/xs_json.h
@@ -372,7 +372,7 @@ d_char *_xs_json_loads_array(const char **json, js_type *t)
372 l = xs_list_append(l, v); 372 l = xs_list_append(l, v);
373 373
374 while (*t == JS_INCOMPLETE) { 374 while (*t == JS_INCOMPLETE) {
375 xs *v1 = _xs_json_loads_lexer(&s, &tt); 375 free(_xs_json_loads_lexer(&s, &tt));
376 376
377 if (tt == JS_CBRACK) 377 if (tt == JS_CBRACK)
378 *t = JS_ARRAY; 378 *t = JS_ARRAY;
@@ -425,7 +425,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t)
425 *t = JS_OBJECT; 425 *t = JS_OBJECT;
426 else 426 else
427 if (tt == JS_STRING) { 427 if (tt == JS_STRING) {
428 xs *t1 = _xs_json_loads_lexer(&s, &tt); 428 free(_xs_json_loads_lexer(&s, &tt));
429 429
430 if (tt == JS_COLON) { 430 if (tt == JS_COLON) {
431 xs *v1; 431 xs *v1;
@@ -437,7 +437,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t)
437 d = xs_dict_append(d, k1, v1); 437 d = xs_dict_append(d, k1, v1);
438 438
439 while (*t == JS_INCOMPLETE) { 439 while (*t == JS_INCOMPLETE) {
440 xs *t2 = _xs_json_loads_lexer(&s, &tt); 440 free(_xs_json_loads_lexer(&s, &tt));
441 441
442 if (tt == JS_CCURLY) 442 if (tt == JS_CCURLY)
443 *t = JS_OBJECT; 443 *t = JS_OBJECT;
@@ -446,7 +446,7 @@ d_char *_xs_json_loads_object(const char **json, js_type *t)
446 xs *k = _xs_json_loads_lexer(&s, &tt); 446 xs *k = _xs_json_loads_lexer(&s, &tt);
447 447
448 if (tt == JS_STRING) { 448 if (tt == JS_STRING) {
449 xs *t3 = _xs_json_loads_lexer(&s, &tt); 449 free(_xs_json_loads_lexer(&s, &tt));
450 450
451 if (tt == JS_COLON) { 451 if (tt == JS_COLON) {
452 xs *v; 452 xs *v;