[libvirt] [PATCH] libvirt: Fix crash on URI without scheme

Cole Robinson crobinso at redhat.com
Wed Apr 20 17:31:07 UTC 2016


My commit 0d1579572 crashes on a URI without a scheme, like via
'virsh --connect frob'

Add a check on uri->server too while we are at it, and centralize
them all
---
 src/libvirt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/libvirt.c b/src/libvirt.c
index 749089b..114e88c 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -935,6 +935,9 @@ virConnectGetDefaultURI(virConfPtr conf,
 static int
 virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri)
 {
+    if (!uri->scheme || !uri->path || !uri->server)
+        return 0;
+
     /* To avoid false positives, only check drivers that mandate
        a path component in the URI, like /system or /session */
     if (STRNEQ(uri->scheme, "qemu") &&
@@ -942,9 +945,6 @@ virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri)
         STRNEQ(uri->scheme, "vz"))
         return 0;
 
-    if (uri->path != NULL)
-        return 0;
-
     if (STREQ(uri->server, "session") ||
         STREQ(uri->server, "system")) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
-- 
2.7.3




More information about the libvir-list mailing list