[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_
|
From: |
Fabiano Rosas |
|
Subject: |
Re: [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_dirty_rate() |
|
Date: |
Thu, 22 Aug 2024 09:27:30 -0300 |
Peter Maydell <peter.maydell@linaro.org> writes:
> We g_strdup() the "status" string we get out of the qdict in
> get_dirty_rate(), but we never free it. Since we only use this
> string while the dictionary is still valid, we don't need to strdup
> at all; drop the unnecessary call to avoid this leak:
>
> Direct leak of 18 byte(s) in 2 object(s) allocated from:
> #0 0x564b3e01913e in malloc
> (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f13e)
> (BuildId: d6403a811332fcc846f93c45e23abfd06d1e67c4)
> #1 0x7f2f278ff738 in g_malloc debian/build/deb/../../../glib/gmem.c:128:13
> #2 0x7f2f27914583 in g_strdup
> debian/build/deb/../../../glib/gstrfuncs.c:361:17
> #3 0x564b3e14bb5b in get_dirty_rate tests/qtest/migration-test.c:3447:14
> #4 0x564b3e138e00 in test_vcpu_dirty_limit
> tests/qtest/migration-test.c:3565:16
> #5 0x564b3e14f417 in migration_test_wrapper
> tests/qtest/migration-helpers.c:456:5
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> tests/qtest/migration-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index a659609ccb0..04122120987 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -3435,7 +3435,7 @@ static void wait_for_calc_dirtyrate_complete(QTestState
> *who,
> static int64_t get_dirty_rate(QTestState *who)
> {
> QDict *rsp_return;
> - gchar *status;
> + const char *status;
> QList *rates;
> const QListEntry *entry;
> QDict *rate;
> @@ -3444,7 +3444,7 @@ static int64_t get_dirty_rate(QTestState *who)
> rsp_return = query_dirty_rate(who);
> g_assert(rsp_return);
>
> - status = g_strdup(qdict_get_str(rsp_return, "status"));
> + status = qdict_get_str(rsp_return, "status");
> g_assert(status);
> g_assert_cmpstr(status, ==, "measured");
Reviewed-by: Fabiano Rosas <farosas@suse.de>
- [PATCH for-9.2 0/9] tests/qtest/migration-test: Fix various leaks, Peter Maydell, 2024/08/20
- [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup handling, Peter Maydell, 2024/08/20
- [PATCH for-9.2 4/9] tests/qtest/migration-helpers: Fix migrate_get_socket_address() leak, Peter Maydell, 2024/08/20
- [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_dirty_rate(), Peter Maydell, 2024/08/20
- Re: [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_dirty_rate(),
Fabiano Rosas <=
- [PATCH for-9.2 9/9] tests/qtest/migration-test: Don't leak QTestState in test_multifd_tcp_cancel(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 3/9] tests/qtest/migration-test: Fix leaks in calc_dirtyrate_ready(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 2/9] tests/qtest/migration-test: Don't leak resp in multifd_mapped_ram_fdset_end(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 6/9] tests/unit/crypto-tls-x509-helpers: deinit privkey in test_tls_cleanup, Peter Maydell, 2024/08/20
- [PATCH for-9.2 7/9] tests/qtest/migration-helpers: Don't dup argument to qdict_put_str(), Peter Maydell, 2024/08/20