[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/qtest/migration-test: Fix unlink error and memory leak
From: |
Bin Meng |
Subject: |
Re: [PATCH] tests/qtest/migration-test: Fix unlink error and memory leaks |
Date: |
Mon, 28 Nov 2022 14:19:50 +0800 |
On Fri, Nov 25, 2022 at 4:33 PM Thomas Huth <thuth@redhat.com> wrote:
>
> When running the migration test compiled with Clang from Fedora 37
> and sanitizers enabled, there is an error complaining about unlink():
>
> ../tests/qtest/migration-test.c:1072:12: runtime error: null pointer
> passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:858:48: note: nonnull attribute specified here
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
> ../tests/qtest/migration-test.c:1072:12 in
> (test program exited with status code 1)
> TAP parsing error: Too few tests run (expected 33, got 20)
>
> The data->clientcert and data->clientkey pointers can indeed be unset
> in some tests, so we have to check them before calling unlink() with
> those.
>
> While we're at it, I also noticed that the code is only freeing
> some but not all of the allocated strings in this function, and
> indeed, valgrind is also complaining about memory leaks here.
> So let's call g_free() on all allocated strings to avoid leaking
> memory here.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/qtest/migration-test.c | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
Tested-by: Bin Meng <bmeng@tinylab.org>