This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Check for null result from gdb_demangle
- From: "Ali Tamur via gdb-patches" <gdb-patches at sourceware dot org>
- To: gdb-patches at sourceware dot org
- Cc: kmoy at google dot com, Ali Tamur <tamur at google dot com>
- Date: Wed, 12 Feb 2020 22:31:40 -0800
- Subject: [PATCH] Check for null result from gdb_demangle
- Reply-to: Ali Tamur <tamur at google dot com>
I am sending this patch on behalf of kmoy@google.com, who discovered the bug
and wrote the fix.
gdb_demangle can return null for strings that don't properly demangle. The null
check was mistakenly removed in commit 43816ebc335. Without this check, GDB
aborts when loading symbols from some binaries.
gdb/ChangeLog:
* dwarf2/read.c (dwarf2_name): Add null check.
---
gdb/dwarf2/read.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 7edbd9d7df..2f37c8a496 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -21770,6 +21770,8 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
{
gdb::unique_xmalloc_ptr<char> demangled
(gdb_demangle (DW_STRING (attr), DMGL_TYPES));
+ if (demangled == nullptr)
+ return nullptr;
const char *base;
--
2.25.0.265.gbab2e86ba0-goog