diff options
author | Tom Tromey <tromey@redhat.com> | 2013-05-30 16:57:38 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-05-30 16:57:38 +0000 |
commit | e61727abf0dca6c26548e1df9d51a370faf28542 (patch) | |
tree | 42c3da034fe85731e9eb27674de591e760ad272a /gdb | |
parent | b81b921f794dc3ce6112e784f39511004c7cb542 (diff) | |
download | gdb-e61727abf0dca6c26548e1df9d51a370faf28542.zip gdb-e61727abf0dca6c26548e1df9d51a370faf28542.tar.gz gdb-e61727abf0dca6c26548e1df9d51a370faf28542.tar.bz2 |
fix linespec bug noticed by the checker
This fixes a linespec bug noticed by the cleanup checker.
find_linespec_symbols did this:
cleanup = demangle_for_lookup (name, state->language->la_language,
&lookup_name);
[...]
cleanup = make_cleanup (xfree, canon);
But this is wrong, as it makes a subsequent call to do_cleanups not
clean up all the local state.
* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/linespec.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eaa47a0..4f32385 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2013-05-30 Tom Tromey <tromey@redhat.com> + * linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'. + +2013-05-30 Tom Tromey <tromey@redhat.com> + * cli/cli-script.c (setup_user_args): Don't return after error. 2013-05-30 Tom Tromey <tromey@redhat.com> diff --git a/gdb/linespec.c b/gdb/linespec.c index 989c8d2..61e5377 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -3097,7 +3097,7 @@ find_linespec_symbols (struct linespec_state *state, if (canon != NULL) { lookup_name = canon; - cleanup = make_cleanup (xfree, canon); + make_cleanup (xfree, canon); } /* It's important to not call expand_symtabs_matching unnecessarily |