mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
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,
|
||||
unsigned int flags ATTRIBUTE_UNUSED) {
|
||||
virDomainPtr dom = NULL;
|
||||
|
||||
/* VirtualBox currently doesn't have support for running
|
||||
* virtual machines without actually defining them and thus
|
||||
* 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.
|
||||
*/
|
||||
|
||||
dom = vboxDomainDefineXML(conn, xml);
|
||||
if (dom) {
|
||||
if (vboxDomainCreate(dom) < 0)
|
||||
goto cleanup;
|
||||
} else {
|
||||
goto cleanup;
|
||||
virDomainPtr dom = vboxDomainDefineXML(conn, xml);
|
||||
if (dom == NULL)
|
||||
return NULL;
|
||||
|
||||
if (vboxDomainCreate(dom) < 0) {
|
||||
vboxDomainUndefine(dom);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return dom;
|
||||
|
||||
cleanup:
|
||||
vboxDomainUndefine(dom);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static virDomainPtr vboxDomainLookupByID(virConnectPtr conn, int id) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user