提交 757c0908 编写于 作者: S Sukrit Bhatnagar 提交者: Erik Skultety

util: authconfig: use VIR_AUTOFREE instead of VIR_FREE for scalar types

By making use of GNU C's cleanup attribute handled by the
VIR_AUTOFREE macro for declaring scalar variables, majority
of the VIR_FREE calls can be dropped, which in turn leads to
getting rid of most of our cleanup sections.
Signed-off-by: NSukrit Bhatnagar <skrtbhtngr@gmail.com>
Reviewed-by: NErik Skultety <eskultet@redhat.com>
上级 0e32987e
......@@ -105,10 +105,9 @@ int virAuthConfigLookup(virAuthConfigPtr auth,
const char *credname,
const char **value)
{
char *authgroup = NULL;
char *credgroup = NULL;
VIR_AUTOFREE(char *) authgroup = NULL;
VIR_AUTOFREE(char *) credgroup = NULL;
const char *authcred;
int ret = -1;
*value = NULL;
......@@ -118,47 +117,38 @@ int virAuthConfigLookup(virAuthConfigPtr auth,
hostname = "localhost";
if (virAsprintf(&authgroup, "auth-%s-%s", service, hostname) < 0)
goto cleanup;
return -1;
if (!virKeyFileHasGroup(auth->keyfile, authgroup)) {
VIR_FREE(authgroup);
if (virAsprintf(&authgroup, "auth-%s-%s", service, "default") < 0)
goto cleanup;
return -1;
}
if (!virKeyFileHasGroup(auth->keyfile, authgroup)) {
ret = 0;
goto cleanup;
}
if (!virKeyFileHasGroup(auth->keyfile, authgroup))
return 0;
if (!(authcred = virKeyFileGetValueString(auth->keyfile, authgroup, "credentials"))) {
virReportError(VIR_ERR_CONF_SYNTAX,
_("Missing item 'credentials' in group '%s' in '%s'"),
authgroup, auth->path);
goto cleanup;
return -1;
}
if (virAsprintf(&credgroup, "credentials-%s", authcred) < 0)
goto cleanup;
return -1;
if (!virKeyFileHasGroup(auth->keyfile, credgroup)) {
virReportError(VIR_ERR_CONF_SYNTAX,
_("Missing group 'credentials-%s' referenced from group '%s' in '%s'"),
authcred, authgroup, auth->path);
goto cleanup;
return -1;
}
if (!virKeyFileHasValue(auth->keyfile, credgroup, credname)) {
ret = 0;
goto cleanup;
}
if (!virKeyFileHasValue(auth->keyfile, credgroup, credname))
return 0;
*value = virKeyFileGetValueString(auth->keyfile, credgroup, credname);
ret = 0;
cleanup:
VIR_FREE(authgroup);
VIR_FREE(credgroup);
return ret;
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册