From f6aea118f840ab0df3071dd19eaeea472a15a5ef Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 3 Jun 2013 13:22:29 +0000 Subject: [PATCH] Revert "fix cleanup handling in macho_symfile_read" This patch indirectly causes a SEGV by creating a dangling pointer. Reverting this patch while working on a clearer memory management method for this part of the code. gdb/Changelog: Revert: * machoread.c (macho_symfile_read): Assign first cleanup to 'back_to'. --- gdb/ChangeLog | 6 ++++++ gdb/machoread.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8649045fb8..906cb06d38 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2013-06-03 Joel Brobecker + + Revert (indirectly causes a SIGSEGV): + * machoread.c (macho_symfile_read): Assign first cleanup to + 'back_to'. + 2013-06-03 Yao Qi * mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to diff --git a/gdb/machoread.c b/gdb/machoread.c index d294960f63..9877f07b4d 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -871,10 +871,10 @@ macho_symfile_read (struct objfile *objfile, int symfile_flags) struct cleanup *back_to; symbol_table = (asymbol **) xmalloc (storage_needed); - back_to = make_cleanup (xfree, symbol_table); + make_cleanup (xfree, symbol_table); init_minimal_symbol_collection (); - make_cleanup_discard_minimal_symbols (); + back_to = make_cleanup_discard_minimal_symbols (); symcount = bfd_canonicalize_symtab (objfile->obfd, symbol_table);