From: Nick Alcock Date: Mon, 13 Jan 2025 14:49:14 +0000 (+0000) Subject: libctf, string: remove movable refs properly X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=69d4f6d74cff8916bdfefa221ef84d40ebe4b3e7;p=thirdparty%2Fbinutils-gdb.git 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. --- 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); } }