]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: secret: Refactor cleanup in cmdSecretGetValue
authorPeter Krempa <pkrempa@redhat.com>
Fri, 24 Jan 2020 14:42:02 +0000 (15:42 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 28 Jan 2020 17:09:57 +0000 (18:09 +0100)
Automatically clean the secret object and get rid of the cleanup label
and 'ret' valiable.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
tools/virsh-secret.c

index 58c9a54af6ba7de3da8163e29223f45ad7a6cb1f..7067d1335343f672767d3e03df01199b4f3bbaad 100644 (file)
@@ -240,29 +240,23 @@ static const vshCmdOptDef opts_secret_get_value[] = {
 static bool
 cmdSecretGetValue(vshControl *ctl, const vshCmd *cmd)
 {
-    virSecretPtr secret;
+    g_autoptr(virshSecret) secret = NULL;
     VIR_AUTODISPOSE_STR base64 = NULL;
     unsigned char *value;
     size_t value_size;
-    bool ret = false;
 
-    secret = virshCommandOptSecret(ctl, cmd, NULL);
-    if (secret == NULL)
+    if (!(secret = virshCommandOptSecret(ctl, cmd, NULL)))
         return false;
 
-    value = virSecretGetValue(secret, &value_size, 0);
-    if (value == NULL)
-        goto cleanup;
+    if (!(value = virSecretGetValue(secret, &value_size, 0)))
+        return false;
 
     base64 = g_base64_encode(value, value_size);
 
     vshPrint(ctl, "%s", base64);
-    ret = true;
 
- cleanup:
     VIR_DISPOSE_N(value, value_size);
-    virshSecretFree(secret);
-    return ret;
+    return true;
 }
 
 /*