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 <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2017-11-29 13:22:44 +02:00 committed by Jouni Malinen
parent 622934128b
commit 281f480c53

View file

@ -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 &&