[binutils-gdb] gdb/gcore: check return values of some find_memory_region_ftype calls
Simon Marchi
simark@sourceware.org
Sat Mar 14 18:43:56 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9f80d0c951819c8f1b2c36027cb196abb12c5f89
commit 9f80d0c951819c8f1b2c36027cb196abb12c5f89
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Tue Mar 10 13:30:33 2026 -0400
gdb/gcore: check return values of some find_memory_region_ftype calls
This fixes some spots that didn't check the return value of a
find_memory_region_ftype callback.
Change-Id: Ic57933ce76709ca16c93bc66c21da97afb3163a2
Approved-By: Tom Tromey <tom@tromey.com>
Diff:
---
gdb/gcore.c | 34 ++++++++++++++++++----------------
1 file changed, 18 insertions(+), 16 deletions(-)
diff --git a/gdb/gcore.c b/gdb/gcore.c
index 7c6d5f8667f..2bf300c0d29 100644
--- a/gdb/gcore.c
+++ b/gdb/gcore.c
@@ -558,25 +558,27 @@ objfile_find_memory_regions (struct target_ops *self,
}
/* Make a stack segment. */
- if (derive_stack_segment (&temp_bottom, &temp_top))
- (*func) (temp_bottom, temp_top - temp_bottom,
- true, /* Stack section will be readable. */
- true, /* Stack section will be writable. */
- false, /* Stack section will not be executable. */
- true, /* Stack section will be modified. */
- false, /* No memory tags in the object file. */
- obfd);
+ if (derive_stack_segment (&temp_bottom, &temp_top)
+ && !func (temp_bottom, temp_top - temp_bottom,
+ true, /* Stack section will be readable. */
+ true, /* Stack section will be writable. */
+ false, /* Stack section will not be executable. */
+ true, /* Stack section will be modified. */
+ false, /* No memory tags in the object file. */
+ obfd))
+ return false;
/* Make a heap segment. */
if (derive_heap_segment (current_program_space->exec_bfd (), &temp_bottom,
- &temp_top))
- (*func) (temp_bottom, temp_top - temp_bottom,
- true, /* Heap section will be readable. */
- true, /* Heap section will be writable. */
- false, /* Heap section will not be executable. */
- true, /* Heap section will be modified. */
- false, /* No memory tags in the object file. */
- obfd);
+ &temp_top)
+ && !func (temp_bottom, temp_top - temp_bottom,
+ true, /* Heap section will be readable. */
+ true, /* Heap section will be writable. */
+ false, /* Heap section will not be executable. */
+ true, /* Heap section will be modified. */
+ false, /* No memory tags in the object file. */
+ obfd))
+ return false;
return true;
}
More information about the Gdb-cvs
mailing list