From: Jie Wang Date: Fri, 9 Jun 2017 09:12:34 +0000 (+0800) Subject: qemu: Fix memory leak in qemuDomainBlockCopyCommon() X-Git-Tag: v3.5.0-rc1~107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=382bdbfe7b1d5d359cd47e6d352d7f0b20884165;p=thirdparty%2Flibvirt.git qemu: Fix memory leak in qemuDomainBlockCopyCommon() Exiting early through the cleanup path did result in 'mirror' being leaked. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1e3c7fca0e..74cc2c45d4 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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; }