This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug symtab/16902] GDB use-after-free segfault when loading certain program's debug symbols
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Thu, 26 Jun 2014 15:10:52 +0000
- Subject: [Bug symtab/16902] GDB use-after-free segfault when loading certain program's debug symbols
- Auto-submitted: auto-generated
- References: <bug-16902-4717 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16902
--- Comment #8 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, gdb-7.8-branch has been updated
via de73a7620bc6c00d05ce0e08df15bd316ca5d9a7 (commit)
from 09d9aa647826f5ad96db8056eac67b214c892ae2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=de73a7620bc6c00d05ce0e08df15bd316ca5d9a7
commit de73a7620bc6c00d05ce0e08df15bd316ca5d9a7
Author: Tom Tromey <tromey@redhat.com>
Date: Mon Jun 16 03:17:19 2014 -0600
fix memory errors with demangled name hash
This fixes a regression that Jan pointed out.
The bug is that some names were allocated by dwarf2read on the objfile
obstack, but then passed to SYMBOL_SET_NAMES with copy_name=0. This
violates the invariant that the names must have a lifetime tied to the
lifetime of the BFD.
The fix is to allocate names on the per-BFD obstack.
I looked at all callers, direct or indirect, of SYMBOL_SET_NAMES that
pass copy_name=0. Note that only the ELF and DWARF readers do this;
other symbol readers were never updated (and perhaps cannot be,
depending on the details of the formats). This is why the patch is
relatively small.
Built and regtested on x86-64 Fedora 20.
2014-06-26 Tom Tromey <tromey@redhat.com>
PR symtab/16902:
* dwarf2read.c (fixup_go_packaging, dwarf2_compute_name)
(dwarf2_physname, read_partial_die)
(guess_partial_die_structure_name, fixup_partial_die)
(guess_full_die_structure_name, anonymous_struct_prefix)
(dwarf2_name): Use per-BFD obstack.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 9 ++++++++
gdb/dwarf2read.c | 58 ++++++++++++++++++++++++++++++++---------------------
2 files changed, 44 insertions(+), 23 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.