From 69d4f6d74cff8916bdfefa221ef84d40ebe4b3e7 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Mon, 13 Jan 2025 14:49:14 +0000 Subject: [PATCH] libctf, string: remove movable refs properly Ever since pending refs were replaced with movable refs, we were failing to remove movable ref backpointers properly on ctf_remove_ref. I don't see how this could cause any problem but a memory leak, but since we do ultimately write down refs, leaking references to refs is still risky: best to fix this. --- libctf/ctf-string.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libctf/ctf-string.c b/libctf/ctf-string.c index 84f0e0d9e4f..4a26541166a 100644 --- a/libctf/ctf-string.c +++ b/libctf/ctf-string.c @@ -611,6 +611,7 @@ ctf_str_remove_ref (ctf_dict_t *fp, const char *str, uint32_t *ref) if (aref->caf_ref == ref) { ctf_list_delete (&atom->csa_refs, aref); + ctf_dynhash_remove (fp->ctf_str_movable_refs, ref); free (aref); } } -- 2.47.2