summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2009-08-16 22:56:53 -0700
committerRoland McGrath <roland@redhat.com>2009-08-16 22:56:53 -0700
commit67023663c5a4c103d3f4a0b5ec494ca6c29a9cc6 (patch)
treec679d21d4a7e4f411ed3c5495448f23b72dc2347
parent0570ca02252356d059d231fa708488f211de4045 (diff)
downloadelfutils-67023663c5a4c103d3f4a0b5ec494ca6c29a9cc6.tar.gz
Plug leaks.
-rw-r--r--libdw/ChangeLog4
-rw-r--r--libdw/c++/dwarf_tracker6
-rw-r--r--src/ChangeLog4
-rw-r--r--src/dwarfcmp.cc3
4 files changed, 17 insertions, 0 deletions
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index c5638118..6ae21ea9 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-16 Roland McGrath <roland@redhat.com>
+
+ * c++/dwarf_tracker (dwarf_ref_tracker): Add missing destructor.
+
2009-07-08 Roland McGrath <roland@redhat.com>
* c++/dwarf-knowledge.cc (expected_value_space):
diff --git a/libdw/c++/dwarf_tracker b/libdw/c++/dwarf_tracker
index ae4179f2..0d24084a 100644
--- a/libdw/c++/dwarf_tracker
+++ b/libdw/c++/dwarf_tracker
@@ -390,6 +390,12 @@ namespace elfutils
_m_equiv (new equiv_map), _m_delete_equiv (true)
{}
+ inline ~dwarf_ref_tracker ()
+ {
+ if (_m_delete_equiv)
+ delete _m_equiv;
+ }
+
inline void reset ()
{
_m_equiv->clear ();
diff --git a/src/ChangeLog b/src/ChangeLog
index ce81b25e..d44f7eae 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-16 Roland McGrath <roland@redhat.com>
+
+ * dwarfcmp.cc (main): Call dwarf_end before return, for happy valgrind.
+
2009-07-06 Roland McGrath <roland@redhat.com>
* dwarfcmp.cc (test_writer): Make it an int.
diff --git a/src/dwarfcmp.cc b/src/dwarfcmp.cc
index 6d3ee064..1ab2744a 100644
--- a/src/dwarfcmp.cc
+++ b/src/dwarfcmp.cc
@@ -363,6 +363,9 @@ main (int argc, char *argv[])
result = !same;
}
+ dwarf_end (dw1);
+ dwarf_end (dw2);
+
return result;
}