diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/breakpoint.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b9d6b48..d539e8f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2010-03-26 Tom Tromey <tromey@redhat.com> + + * breakpoint.c (commands_command_1): Duplicate 'arg'. + 2010-03-26 Ulrich Weigand <uweigand@de.ibm.com> * breakpoint.c (expand_line_sal_maybe): Always call skip_prologue_sal. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index a6bde43..e9fb71e 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -959,8 +959,12 @@ commands_command_1 (char *arg, int from_tty, struct command_line *control) arg = xstrprintf ("%d-%d", multi_start, multi_end); else if (breakpoint_count > 0) arg = xstrprintf ("%d", breakpoint_count); - make_cleanup (xfree, arg); } + else + /* The command loop has some static state, so we need to preserve + our argument. */ + arg = xstrdup (arg); + make_cleanup (xfree, arg); map_breakpoint_numbers (arg, do_map_commands_command, &info); |