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.
This commit is contained in:
Nick Alcock
2025-01-13 14:49:14 +00:00
parent 21f748e1e3
commit 69d4f6d74c

View File

@@ -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);
}
}