aboutsummaryrefslogtreecommitdiff
path: root/tests/test_echo_tcp_connect.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2014-08-29 10:33:16 +0200
committerAndreas Schneider <asn@samba.org>2014-09-01 09:48:32 +0200
commit0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510 (patch)
tree3f597d91648f3e2b71ae58fc13a6cce5e3763c9c /tests/test_echo_tcp_connect.c
parentfa6fee05250c844eb0e00ee47b87ea2e5cd383bf (diff)
downloadsocket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.tar.gz
socket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.tar.xz
socket_wrapper-0c921aa3129a5b1b0ff9c7fae2c0b2ca6bde7510.zip
tests: Fix type punning warnings.
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'tests/test_echo_tcp_connect.c')
-rw-r--r--tests/test_echo_tcp_connect.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/test_echo_tcp_connect.c b/tests/test_echo_tcp_connect.c
index b20e453..0697e13 100644
--- a/tests/test_echo_tcp_connect.c
+++ b/tests/test_echo_tcp_connect.c
@@ -27,8 +27,9 @@ static void teardown(void **state)
static void test_connect_broadcast_ipv4(void **state)
{
- struct sockaddr_in sin;
- socklen_t slen = sizeof(struct sockaddr_in);
+ struct torture_address addr = {
+ .sa_socklen = sizeof(struct sockaddr_in),
+ };
int rc;
int s;
@@ -37,13 +38,12 @@ static void test_connect_broadcast_ipv4(void **state)
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
assert_int_not_equal(s, -1);
- ZERO_STRUCT(sin);
- sin.sin_family = AF_INET;
- sin.sin_port = htons(torture_server_port());
- sin.sin_addr.s_addr = INADDR_BROADCAST;
+ addr.sa.in.sin_family = AF_INET;
+ addr.sa.in.sin_port = htons(torture_server_port());
+ addr.sa.in.sin_addr.s_addr = INADDR_BROADCAST;
/* We don't allow connect to broadcast addresses */
- rc = connect(s, (struct sockaddr *)&sin, slen);
+ rc = connect(s, &addr.sa.s, addr.sa_socklen);
assert_int_equal(rc, -1);
close(s);
@@ -52,8 +52,9 @@ static void test_connect_broadcast_ipv4(void **state)
#ifdef HAVE_IPV6
static void test_connect_downgrade_ipv6(void **state)
{
- struct sockaddr_in sin;
- socklen_t slen = sizeof(struct sockaddr_in);
+ struct torture_address addr = {
+ .sa_socklen = sizeof(struct sockaddr_in),
+ };
int rc;
int s;
@@ -62,17 +63,16 @@ static void test_connect_downgrade_ipv6(void **state)
s = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
assert_int_not_equal(s, -1);
- ZERO_STRUCT(sin);
- sin.sin_family = AF_INET;
- sin.sin_port = htons(torture_server_port());
+ addr.sa.in.sin_family = AF_INET;
+ addr.sa.in.sin_port = htons(torture_server_port());
- rc = inet_pton(sin.sin_family,
+ rc = inet_pton(addr.sa.in.sin_family,
torture_server_address(AF_INET),
- &sin.sin_addr);
+ &addr.sa.in.sin_addr);
assert_int_equal(rc, 1);
/* Connect should downgrade to IPv4 and allow the connect */
- rc = connect(s, (struct sockaddr *)&sin, slen);
+ rc = connect(s, &addr.sa.in, addr.sa_socklen);
assert_int_equal(rc, 0);
close(s);