From add80dbe7e2a3f256af483b49b733bd2ef26f02b Mon Sep 17 00:00:00 2001 From: Sukrit Bhatnagar Date: Fri, 13 Jul 2018 23:24:55 +0530 Subject: [PATCH] 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 Reviewed-by: Erik Skultety --- src/util/virauth.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/util/virauth.c b/src/util/virauth.c index d3a5cc7214..8c450b6b31 100644 --- a/src/util/virauth.c +++ b/src/util/virauth.c @@ -111,8 +111,7 @@ virAuthGetCredential(const char *servicename, const char *path, char **value) { - int ret = -1; - virAuthConfigPtr config = NULL; + VIR_AUTOPTR(virAuthConfig) config = NULL; const char *tmp; *value = NULL; @@ -121,23 +120,19 @@ virAuthGetCredential(const char *servicename, return 0; if (!(config = virAuthConfigNew(path))) - goto cleanup; + return -1; if (virAuthConfigLookup(config, servicename, hostname, credname, &tmp) < 0) - goto cleanup; + return -1; if (VIR_STRDUP(*value, tmp) < 0) - goto cleanup; + return -1; - ret = 0; - - cleanup: - virAuthConfigFree(config); - return ret; + return 0; }