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] readelf: Clean up section lists after usage.


Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 src/ChangeLog |  5 +++++
 src/readelf.c | 14 ++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/ChangeLog b/src/ChangeLog
index ae13793..0c817f4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-09  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (cleanup_list): New function.
+	(main): Call cleanup_list for dump_data_sections and string_sections.
+
 2019-04-28  Mark Wielaard  <mark@klomp.org>
 
 	* unstrip.c (add_new_section_symbols): Call ELF_CHECK after
diff --git a/src/readelf.c b/src/readelf.c
index c346e1f..4c20c38 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -312,6 +312,17 @@ static void dump_archive_index (Elf *, const char *);
 static char *yes_str;
 static char *no_str;
 
+static void
+cleanup_list (struct section_argument *list)
+{
+  while (list != NULL)
+    {
+      struct section_argument *a = list;
+      list = a->next;
+      free (a);
+    }
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -353,6 +364,9 @@ main (int argc, char *argv[])
     }
   while (++remaining < argc);
 
+  cleanup_list (dump_data_sections);
+  cleanup_list (string_sections);
+
   return error_message_count != 0;
 }
 
-- 
1.8.3.1


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