]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virTPMCreateCancelPath: Refactor value returning
authorPeter Krempa <pkrempa@redhat.com>
Wed, 9 Feb 2022 12:44:06 +0000 (13:44 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 14 Feb 2022 12:14:00 +0000 (13:14 +0100)
Automatically free 'path' inside the loop which fills it and return the
values directly.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/util/virtpm.c

index ca7506d82e8fdb3760877b245fb35f78714ec20c..65126f81606800bc1eee728097039551604fd524 100644 (file)
@@ -59,7 +59,6 @@ VIR_ENUM_IMPL(virTPMSwtpmSetupFeature,
 char *
 virTPMCreateCancelPath(const char *devpath)
 {
-    char *path = NULL;
     const char *dev;
     const char *prefix[] = {"misc/", "tpm/"};
     size_t i;
@@ -77,18 +76,14 @@ virTPMCreateCancelPath(const char *devpath)
 
     dev++;
     for (i = 0; i < G_N_ELEMENTS(prefix); i++) {
-        path = g_strdup_printf("/sys/class/%s%s/device/cancel", prefix[i],
-                               dev);
+        g_autofree char *path = g_strdup_printf("/sys/class/%s%s/device/cancel",
+                                                prefix[i], dev);
 
         if (virFileExists(path))
-            break;
-
-        VIR_FREE(path);
+            return g_steal_pointer(&path);
     }
-    if (!path)
-        path = g_strdup("/dev/null");
 
-    return path;
+    return g_strdup("/dev/null");
 }
 
 /*