summaryrefslogtreecommitdiff
path: root/gdb/dwarf2
diff options
context:
space:
mode:
authorAli Tamur via gdb-patches <gdb-patches@sourceware.org>2020-02-21 08:19:21 -0700
committerTom Tromey <tromey@adacore.com>2020-02-21 08:19:21 -0700
commit4f180d5396741eb65badba70cf5077b7d48f8641 (patch)
tree5a3f0c334bda24bf85212f15e86a6b5799b6cb03 /gdb/dwarf2
parenta4425a57c7ad127b30cdfe271c870d5c8ebcfad7 (diff)
downloadbinutils-gdb-4f180d5396741eb65badba70cf5077b7d48f8641.tar.gz
Check for null result from gdb_demangle
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 2020-02-21 Ali Tamur <tamur@google.com> * dwarf2/read.c (dwarf2_name): Add null check.
Diffstat (limited to 'gdb/dwarf2')
-rw-r--r--gdb/dwarf2/read.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index f998fe6b8d0..46d510eb274 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -21756,6 +21756,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;