This is the mail archive of the gdb-patches@sourceware.org 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]

[RFA] Stop leaking extra_string


Hi,

While reviewing my own patches, I noticed that struct breakpoint.extra_string is never freed. You can see this fairly easily in mi-breakpoint-changed.exp (or any dprintf) with valgrind (or an assert in base_breakpoint_dtor).

I've also added a comment to breakpoint.h to mention that this member is allocated.

Ok?
Keith

ChangeLog
2013-03-20  Keith Seitz  <keiths@redhat.com>

	* breakpoint.h (struct breakpoint): Add comment to
	extra_string indicating that this member is mallod'd.
	* breakpoint.c (base_breakpoint_dtor): Free extra_string.


Index: breakpoint.h
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.h,v
retrieving revision 1.193
diff -u -p -r1.193 breakpoint.h
--- breakpoint.h	3 Feb 2013 15:57:06 -0000	1.193
+++ breakpoint.h	20 Mar 2013 14:31:28 -0000
@@ -726,7 +726,8 @@ struct breakpoint
        there is no condition.  */
     char *cond_string;

-    /* String form of extra parameters, or NULL if there are none.  */
+    /* String form of extra parameters, or NULL if there are none.
+     Malloc'd.  */
     char *extra_string;

     /* Holds the address of the related watchpoint_scope breakpoint
Index: breakpoint.c
===================================================================
RCS file: /cvs/src/src/gdb/breakpoint.c,v
retrieving revision 1.746
diff -u -p -r1.746 breakpoint.c
--- breakpoint.c	13 Mar 2013 18:34:53 -0000	1.746
+++ breakpoint.c	20 Mar 2013 14:31:29 -0000
@@ -12788,6 +12788,7 @@ base_breakpoint_dtor (struct breakpoint
 {
   decref_counted_command_line (&self->commands);
   xfree (self->cond_string);
+  xfree (self->extra_string);
   xfree (self->addr_string);
   xfree (self->filter);
   xfree (self->addr_string_range_end);


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