[RFA] Fix a small memory leak in bpstat_stop_status

Joel Brobecker
2002-12-12T10:41:02Z

[-- Attachment #1: Type: text/plain, Size: 490 bytes --]

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

[-- Attachment #2: leak.diff --]
[-- Type: text/plain, Size: 1365 bytes --]

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. */