]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: secret: Refactor cleanup in cmdSecretSetValue
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 7123b108600bf2600e9d5807ac4c8624a90daee1..58c9a54af6ba7de3da8163e29223f45ad7a6cb1f 100644 (file)
@@ -188,18 +188,17 @@ static const vshCmdOptDef opts_secret_set_value[] = {
 static bool
 cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd)
 {
-    virSecretPtr secret;
+    g_autoptr(virshSecret) secret = NULL;
     size_t value_size;
     const char *base64 = NULL;
     unsigned char *value;
     int res;
-    bool ret = false;
 
     if (!(secret = virshCommandOptSecret(ctl, cmd, NULL)))
         return false;
 
     if (vshCommandOptStringReq(ctl, cmd, "base64", &base64) < 0)
-        goto cleanup;
+        return false;
 
     value = g_base64_decode(base64, &value_size);
 
@@ -209,14 +208,10 @@ cmdSecretSetValue(vshControl *ctl, const vshCmd *cmd)
 
     if (res != 0) {
         vshError(ctl, "%s", _("Failed to set secret value"));
-        goto cleanup;
+        return false;
     }
     vshPrintExtra(ctl, "%s", _("Secret value set\n"));
-    ret = true;
-
- cleanup:
-    virshSecretFree(secret);
-    return ret;
+    return true;
 }
 
 /*