--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c @@ -375,11 +375,14 @@ * the first non-loopback, internet interface in the interface list. */ for(curr = ifaces; curr != NULL; curr = curr->ifa_next) { - int currFamily = ((struct sockaddr_storage *)curr->ifa_addr)->ss_family; + int currFamily; - if (!(curr->ifa_flags & IFF_UP) || curr->ifa_flags & IFF_LOOPBACK) { + if (!(curr->ifa_flags & IFF_UP) || curr->ifa_flags & IFF_LOOPBACK || !curr->ifa_addr) continue; - } else if (currFamily == AF_INET || currFamily == AF_INET6) { + + currFamily = curr->ifa_addr->sa_family; + + if (currFamily == AF_INET || currFamily == AF_INET6) { ipstr = ValidateConvertAddress(curr->ifa_addr); } else { continue;