util: auth: use VIR_AUTOPTR for aggregate types

By making use of GNU C's cleanup attribute handled by the
VIR_AUTOPTR macro for declaring aggregate pointer variables,
majority of the calls to *Free functions can be dropped, which
in turn leads to getting rid of most of our cleanup sections.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Sukrit Bhatnagar 2018-07-13 23:24:55 +05:30 committed by Erik Skultety
parent 12614e7e25
commit add80dbe7e
1 changed files with 5 additions and 10 deletions

View File

@ -111,8 +111,7 @@ virAuthGetCredential(const char *servicename,
const char *path, const char *path,
char **value) char **value)
{ {
int ret = -1; VIR_AUTOPTR(virAuthConfig) config = NULL;
virAuthConfigPtr config = NULL;
const char *tmp; const char *tmp;
*value = NULL; *value = NULL;
@ -121,23 +120,19 @@ virAuthGetCredential(const char *servicename,
return 0; return 0;
if (!(config = virAuthConfigNew(path))) if (!(config = virAuthConfigNew(path)))
goto cleanup; return -1;
if (virAuthConfigLookup(config, if (virAuthConfigLookup(config,
servicename, servicename,
hostname, hostname,
credname, credname,
&tmp) < 0) &tmp) < 0)
goto cleanup; return -1;
if (VIR_STRDUP(*value, tmp) < 0) if (VIR_STRDUP(*value, tmp) < 0)
goto cleanup; return -1;
ret = 0; return 0;
cleanup:
virAuthConfigFree(config);
return ret;
} }