This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug symtab/16902] GDB use-after-free segfault when loading certain program's debug symbols


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]