[binutils-gdb] libctf: fix dict leak on archive-wide symbol lookup error path
Nick Alcock
nix@sourceware.org
Tue Jun 18 12:55:36 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e3cd5660756223bbe4a2ab607ef019bbf5e9daf9
commit e3cd5660756223bbe4a2ab607ef019bbf5e9daf9
Author: Nick Alcock <nick.alcock@oracle.com>
Date: Wed Jun 12 12:28:45 2024 +0100
libctf: fix dict leak on archive-wide symbol lookup error path
If a lookup fails for a reason unrelated to a lack of type data for this
symbol, we return with an error; but we fail to close the dict we opened
most recently, which is leaked.
libctf/
* ctf-archive.c (ctf_arc_lookup_sym_or_name): Close dict.
Diff:
---
libctf/ctf-archive.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libctf/ctf-archive.c b/libctf/ctf-archive.c
index f459c02e702..4744cb7a828 100644
--- a/libctf/ctf-archive.c
+++ b/libctf/ctf-archive.c
@@ -957,6 +957,7 @@ ctf_arc_lookup_sym_or_name (ctf_archive_t *wrapper, unsigned long symidx,
{
if (errp)
*errp = ctf_errno (fp);
+ ctf_dict_close (fp);
ctf_next_destroy (i);
return NULL; /* errno is set for us. */
}
More information about the Binutils-cvs
mailing list