From a676209deb2ce5d0c98f331659de25e2483f8c4c Mon Sep 17 00:00:00 2001 From: Andy Fiddaman Date: Tue, 10 Nov 2020 23:31:51 +0000 Subject: 13252 ctf_update()/ctf_dwarf_convert_function() leak memory Reviewed by: Robert Mustacchi Approved by: Dan McDonald --- usr/src/lib/libctf/common/ctf_dwarf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'usr/src/lib/libctf/common/ctf_dwarf.c') diff --git a/usr/src/lib/libctf/common/ctf_dwarf.c b/usr/src/lib/libctf/common/ctf_dwarf.c index e2cd9414dc..8163b145e4 100644 --- a/usr/src/lib/libctf/common/ctf_dwarf.c +++ b/usr/src/lib/libctf/common/ctf_dwarf.c @@ -2290,8 +2290,10 @@ ctf_dwarf_convert_function(ctf_cu_t *cup, Dwarf_Die die) name, ctf_die_offset(cup, die)); if ((ret = ctf_dwarf_boolean(cup, die, DW_AT_declaration, &b)) != 0) { - if (ret != ENOENT) + if (ret != ENOENT) { + ctf_free(name, strlen(name) + 1); return (ret); + } } else if (b != 0) { /* * GCC7 at least creates empty DW_AT_declarations for functions @@ -2302,6 +2304,7 @@ ctf_dwarf_convert_function(ctf_cu_t *cup, Dwarf_Die die) */ ctf_dprintf("ignoring declaration of function %s (die %llx)\n", name, ctf_die_offset(cup, die)); + ctf_free(name, strlen(name) + 1); return (0); } -- cgit v1.2.3