summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2022-04-13 14:25:20 +0100
committerRichard Hughes <richard@hughsie.com>2022-04-13 14:25:20 +0100
commitdb648e16d4bcc9a632133d34440720c74ff959d3 (patch)
treeff98d88288b9a03b4e4f4e926b87c24e2fb3e7f1
parentf8dcb9fd41d65e91a10cecb31968e668d46890bf (diff)
downloadcolord-wip/hughsie/covscan.tar.gz
trivial: Fix a small memory leak when finding the argyll binarieswip/hughsie/covscan
-rw-r--r--contrib/session-helper/cd-main.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/contrib/session-helper/cd-main.c b/contrib/session-helper/cd-main.c
index 10d94a7..99a85fb 100644
--- a/contrib/session-helper/cd-main.c
+++ b/contrib/session-helper/cd-main.c
@@ -874,28 +874,24 @@ static gchar *
cd_main_find_argyll_tool (const gchar *command,
GError **error)
{
- gboolean ret;
- gchar *filename;
+ g_autofree gchar *filename = NULL;
/* try the original argyllcms filename installed in /usr/local/bin */
filename = g_strdup_printf ("/usr/local/bin/%s", command);
- ret = g_file_test (filename, G_FILE_TEST_EXISTS);
- if (ret)
- return filename;
+ if (g_file_test (filename, G_FILE_TEST_EXISTS))
+ return g_steal_pointer(&filename);
/* try the debian filename installed in /usr/bin */
g_free (filename);
filename = g_strdup_printf ("/usr/bin/argyll-%s", command);
- ret = g_file_test (filename, G_FILE_TEST_EXISTS);
- if (ret)
- return filename;
+ if (g_file_test (filename, G_FILE_TEST_EXISTS))
+ return g_steal_pointer(&filename);
/* try the original argyllcms filename installed in /usr/bin */
g_free (filename);
filename = g_strdup_printf ("/usr/bin/%s", command);
- ret = g_file_test (filename, G_FILE_TEST_EXISTS);
- if (ret)
- return filename;
+ if (g_file_test (filename, G_FILE_TEST_EXISTS))
+ return g_steal_pointer(&filename);
/* eek */
g_set_error (error,