This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix sig8_hash memory leak in libdw/dwarf_begin_elf.c if not valid_p.


Signed-off-by: Mark Wielaard <mjw@redhat.com>
---
 libdw/ChangeLog         |    4 ++++
 libdw/dwarf_begin_elf.c |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 0d35ca9..f3ba224 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2012-12-18  Mark Wielaard  <mjw@redhat.com>
+
+	* dwarf_begin_elf.c (valid_p): Call Dwarf_Sig8_Hash_free.
+
 2012-10-09  Petr Machata  <pmachata@redhat.com>
 
 	* dwarf_getlocation.c (__libdw_intern_expression): Handle
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index a9c826c..65a59cd 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -344,6 +344,7 @@ valid_p (Dwarf *result)
       && unlikely (result->sectiondata[IDX_debug_info] == NULL))
     {
       __libdw_free_zdata (result);
+      Dwarf_Sig8_Hash_free (&result->sig8_hash);
       __libdw_seterrno (DWARF_E_NO_DWARF);
       free (result);
       result = NULL;
-- 
1.7.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]