]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virSecretGetSecretString: Refactor cleanup
authorPeter Krempa <pkrempa@redhat.com>
Thu, 8 Dec 2022 11:28:13 +0000 (12:28 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 19 Dec 2022 13:40:26 +0000 (14:40 +0100)
Automatically free 'sec' and remove the 'cleanup' section and 'ret'
variables.

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

index c01f3fb96715726546030e3f5f469a17e259af67..f2c13e27c9d8f00ea693bc397c9aeab8be42cada 100644 (file)
@@ -139,8 +139,7 @@ virSecretGetSecretString(virConnectPtr conn,
                          uint8_t **secret,
                          size_t *secret_size)
 {
-    virSecretPtr sec = NULL;
-    int ret = -1;
+    g_autoptr(virSecret) sec = NULL;
 
     switch (seclookupdef->type) {
     case VIR_SECRET_LOOKUP_TYPE_UUID:
@@ -154,7 +153,7 @@ virSecretGetSecretString(virConnectPtr conn,
     }
 
     if (!sec)
-        goto cleanup;
+        return -1;
 
     /* NB: NONE is a byproduct of the qemuxml2argvtest test mocking
      * for UUID lookups. Normal secret XML processing would fail if
@@ -170,17 +169,11 @@ virSecretGetSecretString(virConnectPtr conn,
                          "expected '%s' type"),
                        uuidstr, virSecretUsageTypeToString(sec->usageType),
                        virSecretUsageTypeToString(secretUsageType));
-        goto cleanup;
+        return -1;
     }
 
-    *secret = conn->secretDriver->secretGetValue(sec, secret_size, 0);
-
-    if (!*secret)
-        goto cleanup;
-
-    ret = 0;
+    if (!(*secret = conn->secretDriver->secretGetValue(sec, secret_size, 0)))
+        return -1;
 
- cleanup:
-    virObjectUnref(sec);
-    return ret;
+    return 0;
 }