diff options
Diffstat (limited to 'ctdb/common/system_linux.c')
-rw-r--r-- | ctdb/common/system_linux.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ctdb/common/system_linux.c b/ctdb/common/system_linux.c index 1bf4903330..6c0efc1f02 100644 --- a/ctdb/common/system_linux.c +++ b/ctdb/common/system_linux.c @@ -418,7 +418,14 @@ bool ctdb_sys_have_ip(ctdb_sock_addr *addr) int s; int ret; - addr->ip.sin_port = 0; + switch (addr->sa.sa_family) { + case AF_INET: + addr->ip.sin_port = 0; + break; + case AF_INET6: + addr->ip6.sin6_port = 0; + break; + } s = socket(addr->sa.sa_family, SOCK_STREAM, IPPROTO_TCP); if (s == -1) { return false; |