]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: backup: Initialize 'store' source properly and just once
authorPeter Krempa <pkrempa@redhat.com>
Tue, 23 Jun 2020 04:32:04 +0000 (06:32 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 23 Jun 2020 09:23:01 +0000 (11:23 +0200)
Two functions called in sequence both initialized the virStorageSource
backing 'store' leading to a memleak.

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

index 531005425bcf8f160469f8f3666a3d8a2c41c87f..43fe8942ad94e6ed0ed9db71c603289a99787395 100644 (file)
@@ -272,9 +272,6 @@ qemuBackupDiskPrepareDataOne(virDomainObjPtr vm,
         dd->backingStore = dd->terminator = virStorageSourceNew();
     }
 
-    if (qemuDomainStorageFileInit(priv->driver, vm, dd->store, dd->domdisk->src) < 0)
-        return -1;
-
     if (qemuDomainPrepareStorageSourceBlockdev(NULL, dd->store, priv, cfg) < 0)
         return -1;
 
@@ -410,7 +407,7 @@ qemuBackupDiskPrepareOneStorage(virDomainObjPtr vm,
             return -1;
         }
 
-        if (qemuDomainStorageFileInit(priv->driver, vm, dd->store, NULL) < 0)
+        if (qemuDomainStorageFileInit(priv->driver, vm, dd->store, dd->domdisk->src) < 0)
             return -1;
 
         dd->initialized = true;