vbox_tmpl.c: avoid NULL deref upon vboxDomainCreateXML failure
* src/vbox/vbox_tmpl.c (vboxDomainCreateXML): Don't call vboxDomainUndefine on a NULL "dom".
This commit is contained in:
parent
f2d8c9d087
commit
2718a3d836
@ -990,8 +990,6 @@ cleanup:
|
|||||||
|
|
||||||
static virDomainPtr vboxDomainCreateXML(virConnectPtr conn, const char *xml,
|
static virDomainPtr vboxDomainCreateXML(virConnectPtr conn, const char *xml,
|
||||||
unsigned int flags ATTRIBUTE_UNUSED) {
|
unsigned int flags ATTRIBUTE_UNUSED) {
|
||||||
virDomainPtr dom = NULL;
|
|
||||||
|
|
||||||
/* VirtualBox currently doesn't have support for running
|
/* VirtualBox currently doesn't have support for running
|
||||||
* virtual machines without actually defining them and thus
|
* virtual machines without actually defining them and thus
|
||||||
* for time being just define new machine and start it.
|
* for time being just define new machine and start it.
|
||||||
@ -1000,19 +998,16 @@ static virDomainPtr vboxDomainCreateXML(virConnectPtr conn, const char *xml,
|
|||||||
* change this behaviour to the expected one.
|
* change this behaviour to the expected one.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
dom = vboxDomainDefineXML(conn, xml);
|
virDomainPtr dom = vboxDomainDefineXML(conn, xml);
|
||||||
if (dom) {
|
if (dom == NULL)
|
||||||
if (vboxDomainCreate(dom) < 0)
|
return NULL;
|
||||||
goto cleanup;
|
|
||||||
} else {
|
if (vboxDomainCreate(dom) < 0) {
|
||||||
goto cleanup;
|
vboxDomainUndefine(dom);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return dom;
|
return dom;
|
||||||
|
|
||||||
cleanup:
|
|
||||||
vboxDomainUndefine(dom);
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static virDomainPtr vboxDomainLookupByID(virConnectPtr conn, int id) {
|
static virDomainPtr vboxDomainLookupByID(virConnectPtr conn, int id) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user