]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuBackupBegin: Don't leak 'def' on early failures
authorPeter Krempa <pkrempa@redhat.com>
Tue, 23 Jun 2020 05:33:41 +0000 (07:33 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 23 Jun 2020 09:23:01 +0000 (11:23 +0200)
The cleanup path expects that 'def' is assigned to 'priv->backup', but
that's not the case for early failures. Add a check to stop overwriting
of 'def' so that it can be freed.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_backup.c

index db8b2d8ff9c5fdd2601109156b6ab20163e9845d..531005425bcf8f160469f8f3666a3d8a2c41c87f 100644 (file)
@@ -806,7 +806,7 @@ qemuBackupBegin(virDomainObjPtr vm,
         ignore_value(qemuDomainObjExitMonitor(priv->driver, vm));
     }
 
-    if (ret < 0 && !job_started)
+    if (ret < 0 && !job_started && priv->backup)
         def = g_steal_pointer(&priv->backup);
 
     if (ret == 0)