]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virStorageBackendISCSISetAuth: Refactor cleanup
authorPeter Krempa <pkrempa@redhat.com>
Thu, 8 Dec 2022 10:19:23 +0000 (11:19 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 1 Feb 2023 08:16:17 +0000 (09:16 +0100)
Automatically free 'conn' and remove the 'cleanup' section and 'ret'
variable. 'datatypes.h' contains the declaration of the autoptr cleanup
function for virConnect.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/storage/storage_backend_iscsi.c

index 968a70158b98754999b0cf60239f2442778f40d6..e4fa49d05f446a5d88fd9cb5f1181b583a8cc273 100644 (file)
@@ -26,6 +26,7 @@
 #include <unistd.h>
 #include <sys/stat.h>
 
+#include "datatypes.h"
 #include "driver.h"
 #include "storage_backend_iscsi.h"
 #include "viralloc.h"
@@ -255,8 +256,8 @@ virStorageBackendISCSISetAuth(const char *portal,
     size_t secret_size;
     g_autofree char *secret_str = NULL;
     virStorageAuthDef *authdef = source->auth;
-    int ret = -1;
-    virConnectPtr conn = NULL;
+    int ret = 0;
+    g_autoptr(virConnect) conn = NULL;
     VIR_IDENTITY_AUTORESTORE virIdentity *oldident = NULL;
 
     if (!authdef || authdef->authType == VIR_STORAGE_AUTH_TYPE_NONE)
@@ -280,7 +281,7 @@ virStorageBackendISCSISetAuth(const char *portal,
     if (virSecretGetSecretString(conn, &authdef->seclookupdef,
                                  VIR_SECRET_USAGE_TYPE_ISCSI,
                                  &secret_value, &secret_size) < 0)
-        goto cleanup;
+        return -1;
 
     secret_str = g_new0(char, secret_size + 1);
     memcpy(secret_str, secret_value, secret_size);
@@ -299,13 +300,9 @@ virStorageBackendISCSISetAuth(const char *portal,
                            source->devices[0].path,
                            "node.session.auth.password",
                            secret_str) < 0)
-        goto cleanup;
+        ret = -1;
 
-    ret = 0;
-
- cleanup:
     virSecureErase(secret_str, secret_size);
-    virObjectUnref(conn);
     return ret;
 }