]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
libctf: don't leak the symbol name in the name->type cache
authorNick Alcock <nick.alcock@oracle.com>
Wed, 13 Dec 2023 12:24:57 +0000 (12:24 +0000)
committerNick Alcock <nick.alcock@oracle.com>
Fri, 19 Apr 2024 15:14:45 +0000 (16:14 +0100)
commitca019227843f62f5ac0a1c432680e3ca05c4377b
treebaa22fb65fbf29e47a93738b12d94c842ff7b9db
parent6364617120e3886b79e0ba89f2c1506766ed4e98
libctf: don't leak the symbol name in the name->type cache

This cache replaced a cache of symbol index->ctf_id_t. That cache was
just an array, so it could get away with just being free()d, but the
ctfi_symnamedicts cache that replaced it is a full dynhash with a
dynamically-allocated string as the key.  As such, it needs freeing with
ctf_dynhash_destroy(), not just free(), or we leak parts of the
underlying hashtab, and all the keys.

libctf/ChangeLog:

* ctf-archive.c (ctf_arc_flush_caches): Fix leak.
libctf/ctf-archive.c