diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f82158d5400b9565357c2253e3cb578e2b81ca49..13974ab4657510bffcdf7033dce468da4ea4aa58 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4432,7 +4432,14 @@ qemuProcessInit(virQEMUDriverPtr driver, } if (!(caps = virQEMUDriverGetCapabilities(driver, false))) - goto stop; + goto cleanup; + + VIR_DEBUG("Determining emulator version"); + virObjectUnref(priv->qemuCaps); + if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache, + vm->def->emulator, + vm->def->os.machine))) + goto cleanup; /* Some things, paths, ... are generated here and we want them to persist. * Fill them in prior to setting the domain def as transient. */ @@ -4462,13 +4469,6 @@ qemuProcessInit(virQEMUDriverPtr driver, VIR_HOOK_SUBOP_BEGIN) < 0) goto stop; - VIR_DEBUG("Determining emulator version"); - virObjectUnref(priv->qemuCaps); - if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache, - vm->def->emulator, - vm->def->os.machine))) - goto stop; - ret = 0; cleanup: