[libvirt] [PATCH 04/11] util: Alter virAuthGet*Path API return processing

John Ferlan jferlan at redhat.com
Tue Aug 14 17:07:49 UTC 2018


If we never find the valid credtype in the list, then we'd return
NULL without an error signaled forcing the caller to generate one
that will probably be incorrect. Let's be specific.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/util/virauth.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/util/virauth.c b/src/util/virauth.c
index a04abb613b..d706658135 100644
--- a/src/util/virauth.c
+++ b/src/util/virauth.c
@@ -191,10 +191,12 @@ virAuthGetUsernamePath(const char *path,
         if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0)
             VIR_FREE(cred.result);
 
-        break;
+        return cred.result;
     }
 
-    return cred.result;
+    virReportError(VIR_ERR_AUTH_FAILED, "%s",
+                   _("Missing VIR_CRED_AUTHNAME credential type"));
+    return NULL;
 }
 
 
@@ -267,10 +269,13 @@ virAuthGetPasswordPath(const char *path,
         if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0)
             VIR_FREE(cred.result);
 
-        break;
+        return cred.result;
     }
 
-    return cred.result;
+    virReportError(VIR_ERR_AUTH_FAILED, "%s",
+                   _("Missing VIR_CRED_PASSPHRASE or VIR_CRED_NOECHOPROMPT "
+                     "credential type"));
+    return NULL;
 }
 
 
-- 
2.17.1




More information about the libvir-list mailing list