]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix memory leak in qemuDomainBlockCopyCommon()
authorJie Wang <wangjie88@huawei.com>
Fri, 9 Jun 2017 09:12:34 +0000 (17:12 +0800)
committerAndrea Bolognani <abologna@redhat.com>
Mon, 12 Jun 2017 09:40:15 +0000 (17:40 +0800)
Exiting early through the cleanup path did result in 'mirror'
being leaked.

src/qemu/qemu_driver.c

index 1e3c7fca0e5e79e4a5bd616eee7369a85d1fb428..74cc2c45d44811f0b8499e305f3503a744ba339b 100644 (file)
@@ -16856,7 +16856,6 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
  endjob:
     if (need_unlink && unlink(mirror->path))
         VIR_WARN("unable to unlink just-created %s", mirror->path);
-    virStorageSourceFree(mirror);
     qemuDomainObjEndJob(driver, vm);
     if (monitor_error) {
         virSetError(monitor_error);
@@ -16866,6 +16865,7 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm,
  cleanup:
     VIR_FREE(device);
     virObjectUnref(cfg);
+    virStorageSourceFree(mirror);
     return ret;
 }