From: Tom Tromey Date: Mon, 18 Mar 2019 15:32:09 +0000 (-0600) Subject: Fix regression caused by minimal symbol changes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bd56d18cc9799f283715a96ba61fd4b958b2f71;p=binutils-gdb.git Fix regression caused by minimal symbol changes The earlier patch to change minimal symbol allocations to use xmalloc erroneously left a call to obstack_blank in minimal_symbol_reader::install. Because obstack_blank does not finish the object allocation on an obstack, this in turn could cause invalid memory reads in some situations. This patch fixes the problem by removing the call. Tested on x86-64 Fedora 29; also verified with valgrind. gdb/ChangeLog 2019-03-18 Tom Tromey * minsyms.c (minimal_symbol_reader::install): Remove call to obstack_blank. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d23819dd209..b224ebddf80 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-03-18 Tom Tromey + + * minsyms.c (minimal_symbol_reader::install): Remove call to + obstack_blank. + 2019-03-18 Pedro Alves * tui/tui-io.c (reverse_mode_p, reverse_save_bg, reverse_save_fg): diff --git a/gdb/minsyms.c b/gdb/minsyms.c index fe2ad949d0b..b95e9ef6e8b 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1360,8 +1360,6 @@ minimal_symbol_reader::install () we will give back the excess space. */ alloc_count = m_msym_count + m_objfile->per_bfd->minimal_symbol_count; - obstack_blank (&m_objfile->per_bfd->storage_obstack, - alloc_count * sizeof (struct minimal_symbol)); gdb::unique_xmalloc_ptr msym_holder (XNEWVEC (minimal_symbol, alloc_count)); msymbols = msym_holder.get ();