[gnome-builder] gdb: don't leak translated path
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] gdb: don't leak translated path
- Date: Sat, 2 Sep 2017 06:17:48 +0000 (UTC)
commit 42de933799df6b9cfeed6f2429a154f4e11d58ff
Author: Christian Hergert <chergert redhat com>
Date: Fri Sep 1 23:07:32 2017 -0700
gdb: don't leak translated path
Unlikely, but possible.
Fixes CID 175141, 175126, and 175136.
plugins/gdb/gbp-gdb-debugger.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/plugins/gdb/gbp-gdb-debugger.c b/plugins/gdb/gbp-gdb-debugger.c
index 847b9fd..79fdb95 100644
--- a/plugins/gdb/gbp-gdb-debugger.c
+++ b/plugins/gdb/gbp-gdb-debugger.c
@@ -438,7 +438,10 @@ gbp_gdb_debugger_handle_breakpoint (GbpGdbDebugger *self,
else if (g_strcmp0 (iter->variable, "func") == 0)
func = iter->variant.cstring;
else if (g_strcmp0 (iter->variable, "file") == 0)
- file = gbp_gdb_debugger_translate_path (self, iter->variant.cstring);
+ {
+ g_free (file);
+ file = gbp_gdb_debugger_translate_path (self, iter->variant.cstring);
+ }
else if (g_strcmp0 (iter->variable, "fullname") == 0)
fullname = iter->variant.cstring;
else if (g_strcmp0 (iter->variable, "line") == 0)
@@ -557,7 +560,10 @@ gbp_gdb_debugger_handle_stopped (GbpGdbDebugger *self,
else if (g_strcmp0 (subiter->variable, "address") == 0)
address = subiter->variant.cstring;
else if (g_strcmp0 (subiter->variable, "file") == 0)
- file = gbp_gdb_debugger_translate_path (self, subiter->variant.cstring);
+ {
+ g_free (file);
+ file = gbp_gdb_debugger_translate_path (self, subiter->variant.cstring);
+ }
else if (g_strcmp0 (subiter->variable, "line") == 0)
line = g_ascii_strtoll (subiter->variant.cstring, NULL, 10);
}
@@ -1497,7 +1503,10 @@ gbp_gdb_debugger_list_frames_cb (GObject *object,
else if (g_strcmp0 (iter->variable, "func") == 0)
func = iter->variant.cstring;
else if (g_strcmp0 (iter->variable, "file") == 0)
- file = gbp_gdb_debugger_translate_path (self, iter->variant.cstring);
+ {
+ g_free (file);
+ file = gbp_gdb_debugger_translate_path (self, iter->variant.cstring);
+ }
else if (g_strcmp0 (iter->variable, "fullname") == 0)
fullname = iter->variant.cstring;
else if (g_strcmp0 (iter->variable, "line") == 0)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]