diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/jplist.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/jplist.c b/src/jplist.c index ace4bff..c149d20 100644 --- a/src/jplist.c +++ b/src/jplist.c | |||
| @@ -549,6 +549,9 @@ static plist_t parse_string(const char* js, jsmntok_t* tokens, int* index) | |||
| 549 | 549 | ||
| 550 | size_t str_len = 0; ; | 550 | size_t str_len = 0; ; |
| 551 | char* strval = unescape_string(js + tokens[*index].start, tokens[*index].end - tokens[*index].start, &str_len); | 551 | char* strval = unescape_string(js + tokens[*index].start, tokens[*index].end - tokens[*index].start, &str_len); |
| 552 | if (!strval) { | ||
| 553 | return NULL; | ||
| 554 | } | ||
| 552 | plist_t node; | 555 | plist_t node; |
| 553 | 556 | ||
| 554 | plist_data_t data = plist_new_plist_data(); | 557 | plist_data_t data = plist_new_plist_data(); |
| @@ -612,6 +615,9 @@ static plist_t parse_object(const char* js, jsmntok_t* tokens, int* index) | |||
| 612 | for (num = 0; num < num_tokens; num++) { | 615 | for (num = 0; num < num_tokens; num++) { |
| 613 | if (tokens[j].type == JSMN_STRING) { | 616 | if (tokens[j].type == JSMN_STRING) { |
| 614 | char* key = unescape_string(js + tokens[j].start, tokens[j].end - tokens[j].start, NULL); | 617 | char* key = unescape_string(js + tokens[j].start, tokens[j].end - tokens[j].start, NULL); |
| 618 | if (!key) { | ||
| 619 | return NULL; | ||
| 620 | } | ||
| 615 | plist_t val = NULL; | 621 | plist_t val = NULL; |
| 616 | j++; | 622 | j++; |
| 617 | num++; | 623 | num++; |
