From 3dc6b00f0d347a9fb2964b3350cc4dd4ca809b59 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 14 Aug 2018 10:05:33 -0400 Subject: [PATCH] util: Alter virAuthGet*Path API to check valid callback Before trying to call @auth->cb, let's ensure it exists. Signed-off-by: John Ferlan Reviewed-by: Marcos Paulo de Souza --- src/util/virauth.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/util/virauth.c b/src/util/virauth.c index 1b9e4b6704..7e7098317d 100644 --- a/src/util/virauth.c +++ b/src/util/virauth.c @@ -175,6 +175,12 @@ virAuthGetUsernamePath(const char *path, if (auth->credtype[ncred] != VIR_CRED_AUTHNAME) continue; + if (!auth->cb) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("Missing authentication callback")); + return NULL; + } + cred.type = VIR_CRED_AUTHNAME; cred.prompt = prompt; cred.challenge = hostname; @@ -251,6 +257,12 @@ virAuthGetPasswordPath(const char *path, continue; } + if (!auth->cb) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("Missing authentication callback")); + return NULL; + } + cred.type = auth->credtype[ncred]; cred.prompt = prompt; cred.challenge = hostname;