if (host && getaddrinfo(host, NULL, &hints, &info) == 0 && info) {
void *addr = NULL;
- char buff[INET6_ADDRSTRLEN + 1];
switch (info->ai_family) {
case AF_INET:
addr = &((struct sockaddr_in6 *) info->ai_addr)->sin6_addr;
break;
}
- inet_ntop(info->ai_family, (void *) addr, buff, sizeof(buff));
- printf("%s", buff);
+ if (addr) {
+ char buff[INET6_ADDRSTRLEN + 1];
+
+ inet_ntop(info->ai_family, (void *) addr, buff, sizeof(buff));
+ printf("%s", buff);
+ }
freeaddrinfo(info);
}