diff --git a/xen/common/domain.c b/xen/common/domain.c index 434d32901b..8c8f70347a 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -825,7 +825,10 @@ struct domain *domain_create(domid_t domid, /* late_hwdom is only allowed for dom0. */ if ( hardware_domain && hardware_domain->domain_id ) + { + free_domain_struct(d); return ERR_PTR(-EINVAL); + } old_hwdom = hardware_domain; hardware_domain = d;