summaryrefslogtreecommitdiffstats
path: root/src/parser_json.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2020-12-14 16:53:29 +0100
committerFlorian Westphal <fw@strlen.de>2020-12-15 19:54:39 +0100
commit48917d876d51cd6ba5bff07172acef05c9e12474 (patch)
tree89d9ce45c1efc9c93e2ee6984b6a9d61dd7305e2 /src/parser_json.c
parent400e04bdc4d89e774f4e97049b44dd7e7f15c29e (diff)
json: don't leave dangling pointers on hlist
unshare -n tests/json_echo/run-test.py [..] Adding chain c free(): double free detected in tcache 2 Aborted (core dumped) The element must be deleted from the hlist prior to freeing it. Fixes: 389a0e1edc89a ("json: echo: Speedup seqnum_to_json()") Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/parser_json.c')
-rw-r--r--src/parser_json.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parser_json.c b/src/parser_json.c
index 09e394df..f0486b77 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -3786,8 +3786,10 @@ static void json_cmd_assoc_free(void)
for (i = 0; i < CMD_ASSOC_HSIZE; i++) {
hlist_for_each_entry_safe(cur, pos, n,
- &json_cmd_assoc_hash[i], hnode)
+ &json_cmd_assoc_hash[i], hnode) {
+ hlist_del(&cur->hnode);
free(cur);
+ }
}
}