From 2442bc1c341f7c6ad4d3b3b7f6111b6d827cfb38 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Wed, 20 Apr 2016 13:25:07 -0400 Subject: [PATCH] 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 (cherry picked from commit f1bae376b71ecc712e5d8359382290db1120e13e) --- src/libvirt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libvirt.c b/src/libvirt.c index 8f665ee485..67093de9bc 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -942,6 +942,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") && @@ -949,9 +952,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, -- GitLab