From 929ab113ced0a23ba03a14ffae3b8c7c1a203dcc Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Mon, 14 Dec 2020 15:34:10 +0000
Subject: [PATCH] system-info: Use g_autofree when diagnosing overrides

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 steam-runtime-tools/system-info.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/steam-runtime-tools/system-info.c b/steam-runtime-tools/system-info.c
index 694b7ed65..eb8dbcbda 100644
--- a/steam-runtime-tools/system-info.c
+++ b/steam-runtime-tools/system-info.c
@@ -1146,25 +1146,25 @@ ensure_hidden_deps (SrtSystemInfo *self)
 static void
 ensure_overrides_cached (SrtSystemInfo *self)
 {
-  const gchar *argv[] = {"find", "overrides", "-ls", NULL};
-  gchar *output = NULL;
-  gchar *messages = NULL;
-  gchar *runtime = NULL;
-  int exit_status = -1;
-  GError *error = NULL;
-
   g_return_if_fail (_srt_check_not_setuid ());
   g_return_if_fail (!self->immutable_values);
 
   if (!self->overrides.have_data)
     {
+      g_autoptr(GError) error = NULL;
+      g_autofree gchar *output = NULL;
+      g_autofree gchar *messages = NULL;
+      g_autofree gchar *runtime = NULL;
+      const gchar *argv[] = {"find", "overrides", "-ls", NULL};
+      int exit_status = -1;
+
       self->overrides.have_data = TRUE;
 
       runtime = srt_system_info_dup_runtime_path (self);
       /* Skip checking the overridden folder if we are not in a pressure-vessel
        * Steam Runtime container */
       if (g_strcmp0 (runtime, "/") != 0)
-        goto out;
+        return;
 
       if (!g_spawn_sync (self->sysroot,     /* working directory */
                         (gchar **) argv,
@@ -1181,7 +1181,7 @@ ensure_overrides_cached (SrtSystemInfo *self)
           self->overrides.messages = g_new0 (gchar *, 2);
           self->overrides.messages[0] = g_strdup_printf ("%s %d: %s", g_quark_to_string (error->domain), error->code, error->message);
           self->overrides.messages[1] = NULL;
-          goto out;
+          return;
         }
 
       if (exit_status != 0)
@@ -1199,12 +1199,6 @@ ensure_overrides_cached (SrtSystemInfo *self)
           self->overrides.messages = g_strsplit (messages, "\n", -1);
         }
     }
-
-  out:
-    g_free (output);
-    g_free (messages);
-    g_free (runtime);
-    g_clear_error (&error);
 }
 
 /**
-- 
GitLab