From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>,
berrange@redhat.com, "Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [Qemu-devel] [PATCH v2] test-char: fix AddressSanitizer failure
Date: Mon, 9 Sep 2019 16:37:32 +0200 [thread overview]
Message-ID: <20190909143732.11322-1-pbonzini@redhat.com> (raw)
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
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
tests/test-char.c | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/tests/test-char.c b/tests/test-char.c
index f3ebdffd87..d62de1b088 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -1355,6 +1355,18 @@ static void char_hotswap_test(void)
g_free(chr_args);
}
+static SocketAddress tcpaddr = {
+ .type = SOCKET_ADDRESS_TYPE_INET,
+ .u.inet.host = (char *)"127.0.0.1",
+ .u.inet.port = (char *)"0",
+};
+#ifndef WIN32
+static SocketAddress unixaddr = {
+ .type = SOCKET_ADDRESS_TYPE_UNIX,
+ .u.q_unix.path = (char *)"test-char.sock",
+};
+#endif
+
int main(int argc, char **argv)
{
bool has_ipv4, has_ipv6;
@@ -1390,26 +1402,14 @@ int main(int argc, char **argv)
g_test_add_func("/char/file-fifo", char_file_fifo_test);
#endif
- SocketAddress tcpaddr = {
- .type = SOCKET_ADDRESS_TYPE_INET,
- .u.inet.host = (char *)"127.0.0.1",
- .u.inet.port = (char *)"0",
- };
-#ifndef WIN32
- SocketAddress unixaddr = {
- .type = SOCKET_ADDRESS_TYPE_UNIX,
- .u.q_unix.path = (char *)"test-char.sock",
- };
-#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); \
--
2.21.0
reply other threads:[~2019-09-09 14:38 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190909143732.11322-1-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=berrange@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).