diff options
author | Joel Brobecker <brobecker@gnat.com> | 2013-06-03 13:22:29 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2013-06-03 13:22:29 +0000 |
commit | f6aea118f840ab0df3071dd19eaeea472a15a5ef (patch) | |
tree | 4d5fed61b71590bd3e263a380d2691899c93014b | |
parent | fa549f3baada1dee1b69af1b4db60f8f04bcfae0 (diff) | |
download | gdb-f6aea118f840ab0df3071dd19eaeea472a15a5ef.zip gdb-f6aea118f840ab0df3071dd19eaeea472a15a5ef.tar.gz gdb-f6aea118f840ab0df3071dd19eaeea472a15a5ef.tar.bz2 |
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'.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/machoread.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8649045..906cb06 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2013-06-03 Joel Brobecker <brobecker@adacore.com> + + Revert (indirectly causes a SIGSEGV): + * machoread.c (macho_symfile_read): Assign first cleanup to + 'back_to'. + 2013-06-03 Yao Qi <yao@codesourcery.com> * mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to diff --git a/gdb/machoread.c b/gdb/machoread.c index d294960..9877f07 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); |