From: Nick Alcock Date: Wed, 12 Jun 2024 11:28:45 +0000 (+0100) Subject: libctf: fix dict leak on archive-wide symbol lookup error path X-Git-Tag: binutils-2_43~359 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3cd5660756223bbe4a2ab607ef019bbf5e9daf9;p=thirdparty%2Fbinutils-gdb.git 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 --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. */ }