gdbserver: QTNotes, plug memory leak.

The previous notes aren't being released before setting new ones.

Tested on x86_64 Fedora 17.

gdb/gdbserver/
2013-02-14  Pedro Alves  <palves@redhat.com>

	Plug memory leak.

	* tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
	TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
This commit is contained in:
Pedro Alves 2013-02-14 18:07:19 +00:00
parent 458820da59
commit 8e1d55a3df
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2013-02-14 Pedro Alves <palves@redhat.com>
Plug memory leak.
* tracepoint.c (cmd_qtnotes): Free TRACING_USER_NAME,
TRACING_NOTES and TRACING_STOP_NOTE before clobbering.
2013-02-14 Pedro Alves <palves@redhat.com>
* tracepoint.c (cmd_qtdpsrc): Use savestring.

View File

@ -4042,6 +4042,7 @@ cmd_qtnotes (char *own_buf)
user[nbytes] = '\0';
++packet; /* skip the semicolon */
trace_debug ("User is '%s'", user);
xfree (tracing_user_name);
tracing_user_name = user;
}
else if (strncmp ("notes:", packet, strlen ("notes:")) == 0)
@ -4055,6 +4056,7 @@ cmd_qtnotes (char *own_buf)
notes[nbytes] = '\0';
++packet; /* skip the semicolon */
trace_debug ("Notes is '%s'", notes);
xfree (tracing_notes);
tracing_notes = notes;
}
else if (strncmp ("tstop:", packet, strlen ("tstop:")) == 0)
@ -4068,6 +4070,7 @@ cmd_qtnotes (char *own_buf)
stopnote[nbytes] = '\0';
++packet; /* skip the semicolon */
trace_debug ("tstop note is '%s'", stopnote);
xfree (tracing_stop_note);
tracing_stop_note = stopnote;
}
else