From 7dc6cfd9cc01b4c45f76ebd909849cc1a322bd94 Mon Sep 17 00:00:00 2001 From: Petri Lehtinen Date: Sat, 13 Jun 2009 22:54:57 +0300 Subject: [PATCH] Fix a few memory leaks in json_parse_object() --- src/load.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/load.c b/src/load.c index 912f97d..14022ca 100644 --- a/src/load.c +++ b/src/load.c @@ -309,6 +309,7 @@ static json_t *json_parse_object(json_lex *lex, json_error_t *error) json_lex_scan(lex); if(lex->token != ':') { + free(key); json_set_error(error, lex, "':' expected"); goto error; } @@ -316,10 +317,13 @@ static json_t *json_parse_object(json_lex *lex, json_error_t *error) json_lex_scan(lex); value = json_parse(lex, error); - if(!value) + if(!value) { + free(key); goto error; + } if(json_object_set(object, key, value)) { + free(key); json_decref(value); goto error; } -- 2.1.4