mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
qemu: Check driver is initialized up front, to avoid segfault.
If the qemu_driver was not initialized (possibly due to an error on driver startup), we can segfault if attempting to connect to the URI.
This commit is contained in:
parent
f272378d52
commit
fe7cb869a8
@ -1867,6 +1867,12 @@ static virDrvOpenStatus qemudOpen(virConnectPtr conn,
|
||||
if (conn->uri->server != NULL)
|
||||
return VIR_DRV_OPEN_DECLINED;
|
||||
|
||||
if (qemu_driver == NULL) {
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("qemu state driver is not active"));
|
||||
return VIR_DRV_OPEN_ERROR;
|
||||
}
|
||||
|
||||
if (qemu_driver->privileged) {
|
||||
if (STRNEQ (conn->uri->path, "/system") &&
|
||||
STRNEQ (conn->uri->path, "/session")) {
|
||||
@ -1883,14 +1889,6 @@ static virDrvOpenStatus qemudOpen(virConnectPtr conn,
|
||||
return VIR_DRV_OPEN_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
/* URI was good, but driver isn't active */
|
||||
if (qemu_driver == NULL) {
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("qemu state driver is not active"));
|
||||
return VIR_DRV_OPEN_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
conn->privateData = qemu_driver;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user