[PATCH 04/14] segment_report_module: Remove nested release_buffer() function

Timm Bäder tbaeder@redhat.com
Thu Nov 12 15:04:02 GMT 2020


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 d06d0ba0..ba11b60a 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -267,13 +267,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)
-      (void) segment_read (dwfl, memory_callback, memory_callback_arg,
-                           -1, buffer, buffer_available, 0, 0);
-  }
-
   /* First read in the file header and check its sanity.  */
 
   void *buffer = NULL;
@@ -318,8 +311,9 @@ 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)
+      (void) segment_read (dwfl, memory_callback, memory_callback_arg,
+                           -1, data, data_size, 0, 0);
   }
 
   /* Extract the information we need from the file header.  */
@@ -972,7 +966,9 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 
 out:
   free (phdrsp);
-  release_buffer (&buffer, &buffer_available);
+  if (buffer != NULL)
+    (void) segment_read (dwfl, memory_callback, memory_callback_arg,
+                         -1, &buffer, &buffer_available, 0, 0);
   if (elf != NULL)
     elf_end (elf);
   if (fd != -1)
-- 
2.26.2



More information about the Elfutils-devel mailing list