]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: Alter virAuthGet*Path API return processing
authorJohn Ferlan <jferlan@redhat.com>
Tue, 14 Aug 2018 14:11:50 +0000 (10:11 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 15 Aug 2018 19:42:03 +0000 (15:42 -0400)
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@redhat.com>
Reviewed-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
src/util/virauth.c

index a04abb613b46abcbce46484776ad0ac72491faf7..d7066581359fc33fb25be25415d476311cef1f96 100644 (file)
@@ -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;
 }