From: Marcos Paulo de Souza Date: Fri, 3 Aug 2018 00:27:51 +0000 (-0300) Subject: virauth.c: Check for valid auth callback X-Git-Tag: v4.7.0-rc1~154 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69f4e093d0773ba2e7bbf57c001bbd72914d9473;p=thirdparty%2Flibvirt.git virauth.c: Check for valid auth callback Instead of adding the same check for every drivers, execute the checks in virAuthGetUsername and virAuthGetPassword. These funtions are called when user is not set in the URI. Signed-off-by: Marcos Paulo de Souza --- diff --git a/src/util/virauth.c b/src/util/virauth.c index 8c450b6b31..759b8f0cd3 100644 --- a/src/util/virauth.c +++ b/src/util/virauth.c @@ -198,6 +198,12 @@ virAuthGetUsername(virConnectPtr conn, if (virAuthGetConfigFilePath(conn, &path) < 0) return NULL; + if (!auth || !auth->cb) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("Missing or invalid auth pointer")); + return NULL; + } + return virAuthGetUsernamePath(path, auth, servicename, defaultUsername, hostname); } @@ -262,5 +268,11 @@ virAuthGetPassword(virConnectPtr conn, if (virAuthGetConfigFilePath(conn, &path) < 0) return NULL; + if (!auth || !auth->cb) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("Missing or invalid auth pointer")); + return NULL; + } + return virAuthGetPasswordPath(path, auth, servicename, username, hostname); }