Re: [RFA/PING] Fix a small memory leak in bpstat_stop_status

Joel Brobecker
2003-03-10T19:04:02Z

Hello,

Can somebody have a look at this patch please (2nd ping)? Granted, it is
not a very important patch, it "only" fixes a small memory leak, but
I believe the change is very localized, so easy to review.

Thanks!

On Thu, Dec 12, 2002 at 11:40:58AM +0100, Joel Brobecker wrote:
> This is a followup on a thread that I started, archived at:
> http://sources.redhat.com/ml/gdb-patches/2002-12/msg00358.html
>
> Basically, I extracted the part that fixed a small memory leak, and
> tested it separately, as the other part of the patch is likely to be
> superseeded by another patch submitted by Klee Dienes.
>
> 2002-12-12 Joel Brobecker <brobecker@gnat.com>
>
> * breakpoint.c (bpstat_stop_status): Fix a small memory leak.
>
> No regressions on x86-linux.
>
> Ok to apply?
> --
> Joel

> Index: breakpoint.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/breakpoint.c,v
> retrieving revision 1.100
> diff -c -3 -p -r1.100 breakpoint.c
> *** breakpoint.c 4 Dec 2002 04:53:13 -0000 1.100
> --- breakpoint.c 12 Dec 2002 10:21:53 -0000
> *************** bpstat_stop_status (CORE_ADDR *pc, int n
> *** 2763,2771 ****
> /* We will stop here */
> if (b->disposition == disp_disable)
> b->enable_state = bp_disabled;
> - bs->commands = copy_command_lines (b->commands);
> if (b->silent)
> bs->print = 0;
> if (bs->commands &&
> (STREQ ("silent", bs->commands->line) ||
> (xdb_commands && STREQ ("Q", bs->commands->line))))
> --- 2767,2775 ----
> /* We will stop here */
> if (b->disposition == disp_disable)
> b->enable_state = bp_disabled;
> if (b->silent)
> bs->print = 0;
> + bs->commands = b->commands;
> if (bs->commands &&
> (STREQ ("silent", bs->commands->line) ||
> (xdb_commands && STREQ ("Q", bs->commands->line))))
> *************** bpstat_stop_status (CORE_ADDR *pc, int n
> *** 2773,2778 ****
> --- 2777,2783 ----
> bs->commands = bs->commands->next;
> bs->print = 0;
> }
> + bs->commands = copy_command_lines (bs->commands);
> }
> }
> /* Print nothing for this entry if we dont stop or if we dont print. */

--
Joel