[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] test-char: fix AddressSanitizer failure
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH] test-char: fix AddressSanitizer failure |
Date: |
Mon, 9 Sep 2019 15:08:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 9/9/19 3:06 PM, Paolo Bonzini wrote:
> The CharSocketServerTestConfig and CharSocketClientTestConfig
> objects escape after they are passed to g_test_add_data_func,
> but they cease existing after the scope that defines them is
> closed. Make them static to fix this issue.
>
> Fixes: e7b6ba4186f243f149b0d8cddc129fe681ba3912
> Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> tests/test-char.c | 20 ++++++++++----------
> 1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/tests/test-char.c b/tests/test-char.c
> index f3ebdffd87..525a476b89 100644
> --- a/tests/test-char.c
> +++ b/tests/test-char.c
> @@ -1403,13 +1403,13 @@ int main(int argc, char **argv)
> #endif
>
> #define SOCKET_SERVER_TEST(name, addr) \
> - CharSocketServerTestConfig server1 ## name = \
> + static CharSocketServerTestConfig server1 ## name = \
> { addr, false, false }; \
> - CharSocketServerTestConfig server2 ## name = \
> + static CharSocketServerTestConfig server2 ## name = \
> { addr, true, false }; \
> - CharSocketServerTestConfig server3 ## name = \
> + static CharSocketServerTestConfig server3 ## name = \
> { addr, false, true }; \
> - CharSocketServerTestConfig server4 ## name = \
> + static CharSocketServerTestConfig server4 ## name = \
> { addr, true, true }; \
> g_test_add_data_func("/char/socket/server/mainloop/" # name, \
> &server1 ##name, char_socket_server_test); \
> @@ -1421,17 +1421,17 @@ int main(int argc, char **argv)
> &server4 ##name, char_socket_server_test)
>
> #define SOCKET_CLIENT_TEST(name, addr) \
> - CharSocketClientTestConfig client1 ## name = \
> + static CharSocketClientTestConfig client1 ## name = \
> { addr, NULL, false, false }; \
> - CharSocketClientTestConfig client2 ## name = \
> + static CharSocketClientTestConfig client2 ## name = \
> { addr, NULL, true, false }; \
> - CharSocketClientTestConfig client3 ## name = \
> + static CharSocketClientTestConfig client3 ## name = \
> { addr, ",reconnect=1", false }; \
> - CharSocketClientTestConfig client4 ## name = \
> + static CharSocketClientTestConfig client4 ## name = \
> { addr, ",reconnect=1", true }; \
> - CharSocketClientTestConfig client5 ## name = \
> + static CharSocketClientTestConfig client5 ## name = \
> { addr, NULL, false, true }; \
> - CharSocketClientTestConfig client6 ## name = \
> + static CharSocketClientTestConfig client6 ## name = \
> { addr, NULL, true, true }; \
> g_test_add_data_func("/char/socket/client/mainloop/" # name, \
> &client1 ##name, char_socket_client_test); \
>