aboutsummaryrefslogtreecommitdiff
path: root/tests/test_echo_tcp_get_peer_sock_name.c
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-11-07 09:05:30 +0100
committerAndreas Schneider <asn@samba.org>2018-11-07 15:29:56 +0100
commit8609a8eb39a097b47081f34fc9197b9a33d0c2c8 (patch)
treed3fb5cd480e1d73632781410b45d6022bb9395a2 /tests/test_echo_tcp_get_peer_sock_name.c
parent28aeac863cd829783aca1281ecde274266e40f09 (diff)
downloadsocket_wrapper-8609a8eb39a097b47081f34fc9197b9a33d0c2c8.tar.gz
socket_wrapper-8609a8eb39a097b47081f34fc9197b9a33d0c2c8.tar.xz
socket_wrapper-8609a8eb39a097b47081f34fc9197b9a33d0c2c8.zip
tests: Protect IPv6 in st_echo_tcp_get_peer_sock_name
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'tests/test_echo_tcp_get_peer_sock_name.c')
-rw-r--r--tests/test_echo_tcp_get_peer_sock_name.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_echo_tcp_get_peer_sock_name.c b/tests/test_echo_tcp_get_peer_sock_name.c
index ac369dd..ec15371 100644
--- a/tests/test_echo_tcp_get_peer_sock_name.c
+++ b/tests/test_echo_tcp_get_peer_sock_name.c
@@ -33,15 +33,26 @@ static int teardown(void **state)
static void _assert_sockaddr_equal(struct torture_address *addr, const char *a,
const char * const file, const int line)
{
+#ifdef HAVE_IPV6
char ip[INET6_ADDRSTRLEN] = { 0 };
+#else
+ char ip[INET_ADDRSTRLEN] = { 0 };
+#endif
const char *p;
+#ifdef HAVE_IPV6
p = inet_ntop(addr->sa.ss.ss_family,
addr->sa.ss.ss_family == AF_INET6 ?
(void *)&addr->sa.in6.sin6_addr :
(void *)&addr->sa.in.sin_addr,
ip,
sizeof(ip));
+#else
+ p = inet_ntop(addr->sa.ss.ss_family,
+ (void *)&addr->sa.in.sin_addr,
+ ip,
+ sizeof(ip));
+#endif
_assert_true(cast_ptr_to_largest_integral_type(p),
"inet_ntop: Failed to convert IP address", file, line);
@@ -64,9 +75,11 @@ static void _assert_sockaddr_port_equal(struct torture_address *addr,
case AF_INET:
n_port = addr->sa.in.sin_port;
break;
+#ifdef HAVE_IPV6
case AF_INET6:
n_port = addr->sa.in6.sin6_port;
break;
+#endif
default:
return;
}
@@ -90,9 +103,11 @@ static void _assert_sockaddr_port_range_equal(struct torture_address *addr,
case AF_INET:
n_port = addr->sa.in.sin_port;
break;
+#ifdef HAVE_IPV6
case AF_INET6:
n_port = addr->sa.in6.sin6_port;
break;
+#endif
default:
return;
}