Fix use-after-free in json_tokener_new_ex()
The failure path taken in the event of printbuf_new() returning NULL
calls free() on tok->stack after already having freed tok. Swap the
order of the two calls to fix an obvious memory access violation.
Fixes: bcb6d7d347 ("Handle allocation failure in json_tokener_new_ex")
Signed-off-by: Juuso Alasuutari <juuso.alasuutari@gmail.com>
This commit is contained in:
1 parent
dc1ef7d566
commit
9361d8d3a8
1 file changed
+1
-1
+1
-1
@@ -164,8 +164,8 @@ struct json_tokener *json_tokener_new_ex(int depth)
|
||||
tok->pb = printbuf_new();
|
||||
if (!tok->pb)
|
||||
{
|
||||
free(tok);
|
||||
free(tok->stack);
|
||||
free(tok);
|
||||
return NULL;
|
||||
}
|
||||
tok->max_depth = depth;
|
||||
|
||||
Reference in new issue
Block a user