commit 600871eef1a8e7d2957802502ae382b977ec87cc Author: Anton Protopopov Date: Mon Dec 15 18:20:06 2008 +0300 Fix a SIGSEGV bug diff --git a/src/openvz_driver.c b/src/openvz_driver.c index 95ac7dc..6eaadc8 100644 --- a/src/openvz_driver.c +++ b/src/openvz_driver.c @@ -694,17 +694,17 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml) if (openvzDomainSetNetworkConfig(conn, vm->def) < 0) goto cleanup; - if (vm->def->vcpus > 0) { - if (openvzDomainSetVcpus(dom, vm->def->vcpus) < 0) { - openvzError(conn, VIR_ERR_INTERNAL_ERROR, - "%s", _("Could not set number of virtual cpu")); - goto cleanup; - } - } - dom = virGetDomain(conn, vm->def->name, vm->def->uuid); - if (dom) + if (dom) { dom->id = -1; + if (vm->def->vcpus > 0) { + if (openvzDomainSetVcpus(dom, vm->def->vcpus) < 0) { + openvzError(conn, VIR_ERR_INTERNAL_ERROR, + "%s", _("Could not set number of virtual cpu")); + goto cleanup; + } + } + } cleanup: virDomainDefFree(vmdef); @@ -779,18 +779,18 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml, vm->def->id = vm->pid; vm->state = VIR_DOMAIN_RUNNING; - if (vm->def->vcpus > 0) { - if (openvzDomainSetVcpus(dom, vm->def->vcpus) < 0) { - openvzError(conn, VIR_ERR_INTERNAL_ERROR, + dom = virGetDomain(conn, vm->def->name, vm->def->uuid); + if (dom) { + dom->id = vm->def->id; + if (vm->def->vcpus > 0) { + if (openvzDomainSetVcpus(dom, vm->def->vcpus) < 0) { + openvzError(conn, VIR_ERR_INTERNAL_ERROR, "%s", _("Could not set number of virtual cpu")); - goto cleanup; + goto cleanup; + } } } - dom = virGetDomain(conn, vm->def->name, vm->def->uuid); - if (dom) - dom->id = vm->def->id; - cleanup: virDomainDefFree(vmdef); cmdExecFree(progcreate);