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>