]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: authconfig: Use automatic pointer clearing for virAuthConfig
authorPeter Krempa <pkrempa@redhat.com>
Thu, 8 Dec 2022 13:07:19 +0000 (14:07 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 23 Jan 2023 15:32:26 +0000 (16:32 +0100)
Fix and clean up the error paths in virAuthConfigNew*.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
src/util/virauthconfig.c

index dabd7cd2176f488719b412c4ced898f18da5989d..983ac47f6b447394b867c20bb861b8195afd425a 100644 (file)
@@ -37,23 +37,17 @@ VIR_LOG_INIT("util.authconfig");
 
 virAuthConfig *virAuthConfigNew(const char *path)
 {
-    virAuthConfig *auth;
-
-    auth = g_new0(virAuthConfig, 1);
+    g_autoptr(virAuthConfig) auth = g_new0(virAuthConfig, 1);
 
     auth->path = g_strdup(path);
 
     if (!(auth->keyfile = g_key_file_new()))
-        goto error;
+        return NULL;
 
     if (!g_key_file_load_from_file(auth->keyfile, path, 0, NULL))
-        goto error;
-
-    return auth;
+        return NULL;
 
- error:
-    virAuthConfigFree(auth);
-    return NULL;
+    return g_steal_pointer(&auth);
 }
 
 
@@ -61,23 +55,17 @@ virAuthConfig *virAuthConfigNewData(const char *path,
                                       const char *data,
                                       size_t len)
 {
-    virAuthConfig *auth;
-
-    auth = g_new0(virAuthConfig, 1);
+    g_autoptr(virAuthConfig) auth = g_new0(virAuthConfig, 1);
 
     auth->path = g_strdup(path);
 
     if (!(auth->keyfile = g_key_file_new()))
-        goto error;
+        return NULL;
 
     if (!g_key_file_load_from_data(auth->keyfile, data, len, 0, NULL))
-        goto error;
-
-    return auth;
+        return NULL;
 
- error:
-    virAuthConfigFree(auth);
-    return NULL;
+    return g_steal_pointer(&auth);
 }