diff --git a/parson.c b/parson.c index 384280e..a6288fa 100644 --- a/parson.c +++ b/parson.c @@ -669,8 +669,13 @@ static JSON_Value * parse_object_value(const char **string, size_t nesting) { } while (**string != '\0') { new_key = get_quoted_string(string); + if (new_key == NULL) { + json_value_free(output_value); + return NULL; + } SKIP_WHITESPACES(string); - if (new_key == NULL || **string != ':') { + if (**string != ':') { + parson_free(new_key); json_value_free(output_value); return NULL; }