From: Sukrit Bhatnagar Date: Fri, 13 Jul 2018 17:54:55 +0000 (+0530) Subject: util: auth: use VIR_AUTOPTR for aggregate types X-Git-Tag: v4.6.0-rc1~225 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=add80dbe7e2a3f256af483b49b733bd2ef26f02b;p=thirdparty%2Flibvirt.git 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 --- 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; - - ret = 0; + return -1; - cleanup: - virAuthConfigFree(config); - return ret; + return 0; }