Peter Maydell <peter.mayd...@linaro.org> writes:

> In calc_dirtyrate_ready() we g_strdup() a string but then never free it:
>
> Direct leak of 19 byte(s) in 2 object(s) allocated from:
>     #0 0x55ead613413e in malloc 
> (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f13e)
>  (BuildId: e7cd5c37b2987a1af682b43ee5240b98bb316737)
>     #1 0x7f7a13d39738 in g_malloc debian/build/deb/../../../glib/gmem.c:128:13
>     #2 0x7f7a13d4e583 in g_strdup 
> debian/build/deb/../../../glib/gstrfuncs.c:361:17
>     #3 0x55ead6266f48 in calc_dirtyrate_ready 
> tests/qtest/migration-test.c:3409:14
>     #4 0x55ead62669fe in wait_for_calc_dirtyrate_complete 
> tests/qtest/migration-test.c:3422:13
>     #5 0x55ead6253df7 in test_vcpu_dirty_limit 
> tests/qtest/migration-test.c:3562:9
>     #6 0x55ead626a407 in migration_test_wrapper 
> tests/qtest/migration-helpers.c:456:5
>
> We also fail to unref the QMP rsp_return, so we leak that also.
>
> Rather than duplicating the string, use the in-place value from
> the qdict, and then unref the qdict.
>
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>

Reviewed-by: Fabiano Rosas <faro...@suse.de>

Reply via email to