1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemu: Fix memory leak in qemuDomainBlockCopyCommon()

Exiting early through the cleanup path did result in 'mirror'
being leaked.
This commit is contained in:
Jie Wang 2017-06-09 17:12:34 +08:00 committed by Andrea Bolognani
parent 3596b1ddf9
commit 382bdbfe7b

View File

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