From e651c43914d49fafd4eebad22fb6b940a8c1302f Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Wed, 22 Apr 2015 15:07:58 +0200 Subject: [PATCH] tools: Fix string leak Only allocate the return string when we know we are going to return it. Coverity CID #1292292 --- tools/utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/utils.c b/tools/utils.c index adfc3e40a9..dd48783172 100644 --- a/tools/utils.c +++ b/tools/utils.c @@ -29,8 +29,7 @@ _sanitize_argument (gchar * arg) { char *equal_index = strstr (arg, "="); char *space_index = strstr (arg, " "); - gchar *new_string = g_malloc (sizeof (gchar) * (strlen (arg) + 3)); - gchar *tmp_string = new_string; + gchar *new_string, *tmp_string; if (!space_index) return g_strdup (arg); @@ -38,6 +37,8 @@ _sanitize_argument (gchar * arg) if (!equal_index || equal_index > space_index) return g_strdup_printf ("\"%s\"", arg); + tmp_string = new_string = g_malloc (sizeof (gchar) * (strlen (arg) + 3)); + for (; *arg != '\0'; arg++) { *tmp_string = *arg; tmp_string += 1;