mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
util: authconfig: Use automatic pointer clearing for virAuthConfig
Fix and clean up the error paths in virAuthConfigNew*. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
This commit is contained in:
parent
22e9e238d5
commit
5cb0e7bec2
@ -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 NULL;
|
||||
|
||||
return auth;
|
||||
|
||||
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 NULL;
|
||||
|
||||
return auth;
|
||||
|
||||
error:
|
||||
virAuthConfigFree(auth);
|
||||
return NULL;
|
||||
return g_steal_pointer(&auth);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user