[PATCH 1/6] [gdb/symtab] Fix uninitialized memory in buildsym_compunit::finish_block_internal
Tom de Vries
tdevries@suse.de
Wed Aug 30 19:13:31 GMT 2023
When running test-case gdb.dwarf2/per-bfd-sharing.exp with target board stabs,
gdb either segfaults or asserts due to reading uninitialized memory, allocated
here in buildsym_compunit::finish_block_internal:
...
ftype->set_fields
((struct field *)
TYPE_ALLOC (ftype, nparams * sizeof (struct field)));
...
Fix this by using TYPE_ZALLOC instead.
Tested on x86_64-linux.
PR symtab/30810
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30810
---
gdb/buildsym.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index 832b689cf03..65ce3a0f5a8 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -267,7 +267,7 @@ buildsym_compunit::finish_block_internal
ftype->set_num_fields (nparams);
ftype->set_fields
((struct field *)
- TYPE_ALLOC (ftype, nparams * sizeof (struct field)));
+ TYPE_ZALLOC (ftype, nparams * sizeof (struct field)));
iparams = 0;
/* Here we want to directly access the dictionary, because
base-commit: 59487af3c8490bc5961d330bc0ef4d5f05ecdc59
--
2.35.3
More information about the Gdb-patches
mailing list