]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virConnectAuthCallbackDefault: Return failure if 'virGetPassword' returns NULL
authorPeter Krempa <pkrempa@redhat.com>
Thu, 29 May 2025 20:00:49 +0000 (22:00 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 3 Jun 2025 11:11:03 +0000 (13:11 +0200)
virGetPassword can return NULL on linux or BSD if it fails. The caller
in virConnectAuthCallbackDefault does dereference it unconditionally.

Return failure if virGetPassword returns NULL.

Fixes: db72866310d1e520efa8ed2d4589bdb5e76a1c95
Closes: https://gitlab.com/libvirt/libvirt/-/issues/777
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/libvirt.c

index 581fc6deea6860e3477e32680ab6cd101833bd71..375d3fa7ef34a05fc544707e9ae326a6afb86332 100644 (file)
@@ -158,7 +158,9 @@ virConnectAuthCallbackDefault(virConnectCredentialPtr cred,
             if (fflush(stdout) != 0)
                 return -1;
 
-            bufptr = virGetPassword();
+            if (!(bufptr = virGetPassword()))
+                return -1;
+
             if (STREQ(bufptr, ""))
                 VIR_FREE(bufptr);
             break;