提交 2442bc1c 编写于 作者: C Cole Robinson

libvirt: Fix crash on URI without scheme

My commit 0d157957 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 f1bae376)
上级 af20fbab
...@@ -942,6 +942,9 @@ virConnectGetDefaultURI(virConfPtr conf, ...@@ -942,6 +942,9 @@ virConnectGetDefaultURI(virConfPtr conf,
static int static int
virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri) virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri)
{ {
if (!uri->scheme || !uri->path || !uri->server)
return 0;
/* To avoid false positives, only check drivers that mandate /* To avoid false positives, only check drivers that mandate
a path component in the URI, like /system or /session */ a path component in the URI, like /system or /session */
if (STRNEQ(uri->scheme, "qemu") && if (STRNEQ(uri->scheme, "qemu") &&
...@@ -949,9 +952,6 @@ virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri) ...@@ -949,9 +952,6 @@ virConnectCheckURIMissingSlash(const char *uristr, virURIPtr uri)
STRNEQ(uri->scheme, "vz")) STRNEQ(uri->scheme, "vz"))
return 0; return 0;
if (uri->path != NULL)
return 0;
if (STREQ(uri->server, "session") || if (STREQ(uri->server, "session") ||
STREQ(uri->server, "system")) { STREQ(uri->server, "system")) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册