switch (sa->sa_family) {
#if HAVE_GETADDRINFO && HAVE_IPV6
case AF_INET6:
- ((struct sockaddr_in6 *)sa)->sin6_family = sa->sa_family;
- ((struct sockaddr_in6 *)sa)->sin6_port = htons(port);
- socklen = sizeof(struct sockaddr_in6);
+ if (strstr(bindto, ':')) {
+ ((struct sockaddr_in6 *)sa)->sin6_family = sa->sa_family;
+ ((struct sockaddr_in6 *)sa)->sin6_port = htons(port);
+ socklen = sizeof(struct sockaddr_in6);
+ } else {
+ socklen = 0;
+ sa = NULL;
+ }
break;
#endif
case AF_INET: