]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
segment_report_module: Remove nested release_buffer() function
authorTimm Bäder <tbaeder@redhat.com>
Mon, 23 Nov 2020 12:27:02 +0000 (13:27 +0100)
committerMark Wielaard <mark@klomp.org>
Wed, 25 Nov 2020 15:14:19 +0000 (16:14 +0100)
Signed-off-by: Timm Bäder <tbaeder@redhat.com>
libdwfl/ChangeLog
libdwfl/dwfl_segment_report_module.c

index 3f8da55c486bd3721c477faaf38e5ade460889e5..7123b1824efa24467ed1a61d6b11ee590e9d4709 100644 (file)
@@ -1,3 +1,8 @@
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+       * segment_report_module.c (dwfl_segment_report_module): Remove
+       release_buffer, call memory_callback directly.
+
 2020-11-23  Timm Bäder  <tbaeder@redhat.com>
 
        * segment_report_module.c (dwfl_segment_report_module): Remove
index a0d8d713dfbf7fccdf07439710768fa5a7e09993..6399d5d9343143c36c994de00f0ca6dc2a70801a 100644 (file)
@@ -257,13 +257,6 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 
   GElf_Addr start = dwfl->lookup_addr[segment];
 
-  inline void release_buffer (void **buffer, size_t *buffer_available)
-  {
-    if (*buffer != NULL)
-      (*memory_callback) (dwfl, -1, buffer, buffer_available, 0, 0,
-                         memory_callback_arg);
-  }
-
   /* First read in the file header and check its sanity.  */
 
   void *buffer = NULL;
@@ -308,8 +301,8 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 
   inline void finish_portion (void **data, size_t *data_size)
   {
-    if (*data_size != 0)
-      release_buffer (data, data_size);
+    if (*data_size != 0 && *data != NULL)
+      (*memory_callback) (dwfl, -1, data, data_size, 0, 0, memory_callback_arg);
   }
 
   /* Extract the information we need from the file header.  */
@@ -962,7 +955,10 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 
 out:
   free (phdrsp);
-  release_buffer (&buffer, &buffer_available);
+  if (buffer != NULL)
+    (*memory_callback) (dwfl, -1, &buffer, &buffer_available, 0, 0,
+                        memory_callback_arg);
+
   if (elf != NULL)
     elf_end (elf);
   if (fd != -1)