Fix misc bugs in qemu connection opening

This commit is contained in:
Daniel P. Berrange 2007-03-08 15:16:01 +00:00
parent f30b84f901
commit 102c75057a
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,9 @@
Thu Mar 8 10:14:24 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* src/qemu_internal.c: Fix inverted check on file handle to
avoid opening connection twice. Avoid SEGV if uri->scheme is
NULL. Don't run autostart for system instance.
Thu Mar 8 09:47:24 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* src/libvirt.c: Refactored driver registration to avoid

View File

@ -329,6 +329,7 @@ static int qemuProcessRequest(virConnectPtr conn,
*/
static int qemuOpenConnection(virConnectPtr conn, xmlURIPtr uri, int readonly) {
char path[PATH_MAX];
int autostart = 0;
if (uri->server != NULL) {
return -1;
@ -358,8 +359,9 @@ static int qemuOpenConnection(virConnectPtr conn, xmlURIPtr uri, int readonly) {
if (snprintf(path, sizeof(path), "@%s/.libvirt/qemud-sock", pw->pw_dir) == sizeof(path)) {
return -1;
}
autostart = 1;
}
return qemuOpenClientUNIX(conn, path, 1);
return qemuOpenClientUNIX(conn, path, autostart);
}
@ -845,13 +847,13 @@ static int qemuNetworkOpen(virConnectPtr conn,
xmlURIPtr uri = NULL;
int ret = -1;
if (conn->qemud_fd == -1)
if (conn->qemud_fd != -1)
return 0;
if (name)
uri = xmlParseURI(name);
if (uri && !strcmp(uri->scheme, "qemu"))
if (uri && uri->scheme && !strcmp(uri->scheme, "qemu"))
ret = qemuOpen(conn, name, flags);
else if (geteuid() == 0)
ret = qemuOpen(conn, "qemu:///system", flags);