This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


My agreement doesn't help you at all :-), but this patch looks correct to me--we will leak a copy of the "silent" command in bpstat_stop_status() without this patch.

Jason


On Monday, March 10, 2003, at 11:03 AM, Joel Brobecker wrote:


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 at gnat dot 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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]