[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