diff options
Diffstat (limited to 'src/unix/bsd-ifaddrs.c')
-rw-r--r-- | src/unix/bsd-ifaddrs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/unix/bsd-ifaddrs.c b/src/unix/bsd-ifaddrs.c index a3385af..5223ab4 100644 --- a/src/unix/bsd-ifaddrs.c +++ b/src/unix/bsd-ifaddrs.c @@ -113,7 +113,9 @@ int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { address->address.address4 = *((struct sockaddr_in*) ent->ifa_addr); } - if (ent->ifa_netmask->sa_family == AF_INET6) { + if (ent->ifa_netmask == NULL) { + memset(&address->netmask, 0, sizeof(address->netmask)); + } else if (ent->ifa_netmask->sa_family == AF_INET6) { address->netmask.netmask6 = *((struct sockaddr_in6*) ent->ifa_netmask); } else { address->netmask.netmask4 = *((struct sockaddr_in*) ent->ifa_netmask); |