diff mbox

[FYI] Fix regression caused by minimal symbol changes

Message ID 20190318153948.16294-1-tromey@adacore.com
State New
Headers show

Commit Message

Tom Tromey March 18, 2019, 3:39 p.m. UTC
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  <tromey@adacore.com>

	* minsyms.c (minimal_symbol_reader::install): Remove call to
	obstack_blank.
---
 gdb/ChangeLog | 5 +++++
 gdb/minsyms.c | 2 --
 2 files changed, 5 insertions(+), 2 deletions(-)
diff mbox

Patch

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<minimal_symbol>
 	msym_holder (XNEWVEC (minimal_symbol, alloc_count));
       msymbols = msym_holder.get ();