From 281f480c531f950fd3ed4dfc507aa3b2bebf942c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 29 Nov 2017 13:22:44 +0200 Subject: [PATCH] JSON: Fix a memory leak on an error path If the second json_alloc_token() call failed to allocate memory, json_parse() missed the first allocation on the error path. Assign the root pointer earlier for that case to avoid the potential memory leak. Signed-off-by: Jouni Malinen --- src/utils/json.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/json.c b/src/utils/json.c index eae627d87..b9130d3a6 100644 --- a/src/utils/json.c +++ b/src/utils/json.c @@ -230,6 +230,8 @@ struct json_token * json_parse(const char *data, size_t data_len) token = json_alloc_token(&tokens); if (!token) goto fail; + if (!root) + root = token; } else if (curr_token->state == JSON_WAITING_VALUE) { token = curr_token; } else if (curr_token->parent &&