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 #6 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, master has been updated
       via  34a68019ccc3879801a291a00bad5bc10558bf5d (commit)
      from  334ac421efca80df2f95960d917ea9cb5823fb18 (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=34a68019ccc3879801a291a00bad5bc10558bf5d

commit 34a68019ccc3879801a291a00bad5bc10558bf5d
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]