tests: Protect IPv6 in st_echo_tcp_get_peer_sock_name
authorAndreas Schneider <asn@samba.org>
Wed, 7 Nov 2018 08:05:30 +0000 (09:05 +0100)
committerAndreas Schneider <asn@samba.org>
Wed, 7 Nov 2018 14:29:56 +0000 (15:29 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
tests/test_echo_tcp_get_peer_sock_name.c

index ac369dd514d19261543a83d68fa6f14005fd46c8..ec1537135f99d76295ddf31de4a2550536a3b8e8 100644 (file)
@@ -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;
        }