From: Cole Robinson Date: Wed, 20 Apr 2016 17:25:07 +0000 (-0400) Subject: libvirt: Fix crash on URI without scheme X-Git-Tag: v1.3.4-rc1~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1bae376b71ecc712e5d8359382290db1120e13e;p=thirdparty%2Flibvirt.git libvirt: Fix crash on URI without scheme 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 --- diff --git a/src/libvirt.c b/src/libvirt.c index 749089bdc7..114e88ca8f 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,