]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix resource leak in qemuDomainAddChardevTLSObjects error path
authorJohn Ferlan <jferlan@redhat.com>
Mon, 3 Apr 2017 16:53:33 +0000 (12:53 -0400)
committerCole Robinson <crobinso@redhat.com>
Wed, 10 May 2017 19:14:18 +0000 (15:14 -0400)
On any failure, call virJSONValueFree for the *Props.

Signed-off-by: John Ferlan <jferlan@redhat.com>
(cherry picked from commit 2e8c60958ac32624296eee263bf34bb21a32360c)

src/qemu/qemu_migration.c

index dabfe10c02e208d9b388e9a61bb4cb75bbd09c67..fcd3a38a19dd9ae9a91d34868bd14f0878f3559a 100644 (file)
@@ -213,7 +213,7 @@ qemuMigrationAddTLSObjects(virQEMUDriverPtr driver,
                                 cfg->migrateTLSx509verify,
                                 QEMU_MIGRATION_TLS_ALIAS_BASE,
                                 &tlsProps, tlsAlias, &secProps, secAlias) < 0)
-        return -1;
+        goto error;
 
     /* Ensure the domain doesn't already have the TLS objects defined...
      * This should prevent any issues just in case some cleanup wasn't
@@ -223,12 +223,17 @@ qemuMigrationAddTLSObjects(virQEMUDriverPtr driver,
 
     if (qemuDomainAddTLSObjects(driver, vm, asyncJob, *secAlias, &secProps,
                                 *tlsAlias, &tlsProps) < 0)
-        return -1;
+        goto error;
 
     if (VIR_STRDUP(migParams->migrateTLSAlias, *tlsAlias) < 0)
-        return -1;
+        goto error;
 
     return 0;
+
+ error:
+    virJSONValueFree(tlsProps);
+    virJSONValueFree(secProps);
+    return -1;
 }