summaryrefslogtreecommitdiffstats
path: root/src/unix/bsd-ifaddrs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/unix/bsd-ifaddrs.c')
-rw-r--r--src/unix/bsd-ifaddrs.c4
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);