On Thu, Apr 19, 2018 at 04:28:36PM +0200, Michal Privoznik wrote:
On 04/19/2018 04:16 PM, Michal Privoznik wrote:
> Allocated in qemuMigrationParamsNew() we need to free
> priv->job.migParams when no longer needed.
>
> ==8061== 234 (192 direct, 42 indirect) bytes in 1 blocks are definitely lost in loss
record 112 of 123
> ==8061== at 0x4C2CF26: calloc (vg_replace_malloc.c:711)
> ==8061== by 0x5325D05: virAlloc (viralloc.c:144)
> ==8061== by 0x1984F9: qemuMigrationParamsNew (qemu_migration_params.c:218)
> ==8061== by 0x19A352: qemuMigrationParamsParse (qemu_migration_params.c:1185)
> ==8061== by 0x1604D8: qemuDomainObjPrivateXMLParseJob (qemu_domain.c:2390)
> ==8061== by 0x160AE9: qemuDomainObjPrivateXMLParse (qemu_domain.c:2517)
> ==8061== by 0x5419EAE: virDomainObjParseXML (domain_conf.c:20442)
> ==8061== by 0x541A25E: virDomainObjParseNode (domain_conf.c:20555)
> ==8061== by 0x541A2FC: virDomainObjParseFile (domain_conf.c:20574)
> ==8061== by 0x13607D: testCompareStatusXMLToXMLFiles (qemuxml2xmltest.c:75)
> ==8061== by 0x14F3E8: virTestRun (testutils.c:180)
> ==8061== by 0x14DCD0: mymain (qemuxml2xmltest.c:1200)
>
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/qemu/qemu_domain.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index e2a8450e2e..027321e1d4 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -1895,6 +1895,8 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivatePtr priv)
>
> virBitmapFree(priv->migrationCaps);
> priv->migrationCaps = NULL;
> +
> + qemuMigrationParamsFree(priv->job.migParams);
Oh, forgot to 'git commit --ammend' before hitting send. This is what I
have forgot to add:
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 027321e1d4..4c62a44449 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1896,7 +1896,8 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivatePtr priv)
virBitmapFree(priv->migrationCaps);
priv->migrationCaps = NULL;
- qemuMigrationParamsFree(priv->job.migParams);
+ qemuDomainObjResetJob(priv);
+ qemuDomainObjResetAsyncJob(priv);
This is why diffs against diffs are evil :P
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Jano