]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Fix reference leak in qemuDomainDefPostParse
authorJiri Denemark <jdenemar@redhat.com>
Wed, 15 Jun 2016 10:47:07 +0000 (12:47 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 22 Jun 2016 08:29:15 +0000 (10:29 +0200)
The function gets a reference on virQEMUDriverConfig which needs to be
released before returning.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c

index 29f6b93e7d761729cabf79a04b01ebb3d75bcd1e..8f19fb5616becbe2bd3727cbc193709f30dec9c6 100644 (file)
@@ -2134,13 +2134,13 @@ qemuDomainDefPostParse(virDomainDefPtr def,
     if (def->os.bootloader || def->os.bootloaderArgs) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                        _("bootloader is not supported by QEMU"));
-        return ret;
+        goto cleanup;
     }
 
     if (!def->os.machine) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("missing machine type"));
-        return ret;
+        goto cleanup;
     }
 
     if (def->os.loader &&
@@ -2155,7 +2155,7 @@ qemuDomainDefPostParse(virDomainDefPtr def,
     /* check for emulator and create a default one if needed */
     if (!def->emulator &&
         !(def->emulator = virDomainDefGetDefaultEmulator(def, caps)))
-        return ret;
+        goto cleanup;
 
     if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
                                             def->emulator)))