[PATCH 02/12] segment_report_module: Remove nested release_buffer() function

tbaeder@redhat.com tbaeder@redhat.com
Mon Nov 23 12:27:02 GMT 2020


From: Timm Bäder <tbaeder@redhat.com>

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
---
 libdwfl/dwfl_segment_report_module.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
index c587efd7..848c3bec 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -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;
@@ -306,8 +299,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.  */
@@ -960,7 +953,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)
-- 
2.26.2



More information about the Elfutils-devel mailing list