diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 53980d4d78..0ad6359102 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3356,7 +3356,7 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, * is NULL or whether it was the live xml of the domain moments * before. */ if (xmlin) { - virDomainDefPtr def = NULL; + g_autoptr(virDomainDef) def = NULL; if (!(def = virDomainDefParseString(xmlin, driver->xmlopt, priv->qemuCaps, @@ -3364,10 +3364,8 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver, VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE))) { goto endjob; } - if (!qemuDomainCheckABIStability(driver, vm, def)) { - virDomainDefFree(def); + if (!qemuDomainCheckABIStability(driver, vm, def)) goto endjob; - } xml = qemuDomainDefFormatLive(driver, priv->qemuCaps, def, NULL, true, true); } else { xml = qemuDomainDefFormatLive(driver, priv->qemuCaps, vm->def,