diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d3b6d61112552b384bcad217881ab0984980a334..d6d10b722cb2b064699e14c3949197f17a7e2456 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7209,8 +7209,8 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, { int ret = 0; virQEMUDriverPtr driver = opaque; - virQEMUCapsPtr qemuCaps = NULL; - virDomainCapsPtr domCaps = NULL; + g_autoptr(virQEMUCaps) qemuCaps = NULL; + g_autoptr(virDomainCaps) domCaps = NULL; if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator))) @@ -7220,13 +7220,13 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, def->os.machine, def->os.arch, def->virtType))) - goto cleanup; + return -1; if ((ret = qemuDomainDeviceDefValidateAddress(dev, qemuCaps)) < 0) - goto cleanup; + return ret; if ((ret = virDomainCapsDeviceDefValidate(domCaps, dev, def)) < 0) - goto cleanup; + return ret; switch ((virDomainDeviceType)dev->type) { case VIR_DOMAIN_DEVICE_NET: @@ -7312,9 +7312,6 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, break; } - cleanup: - virObjectUnref(qemuCaps); - virObjectUnref(domCaps); return ret; }