diff options
Diffstat (limited to 'libc/inet')
-rw-r--r-- | libc/inet/getaddrinfo.c | 2 | ||||
-rw-r--r-- | libc/inet/ifaddrs.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/libc/inet/getaddrinfo.c b/libc/inet/getaddrinfo.c index b1aae1281..25a5b8022 100644 --- a/libc/inet/getaddrinfo.c +++ b/libc/inet/getaddrinfo.c @@ -189,6 +189,8 @@ static unsigned __check_pf(void) } for (runp = ifa; runp != NULL; runp = runp->ifa_next) { + if (runp->ifa_addr == NULL) + continue; #if defined __UCLIBC_HAS_IPV4__ if (runp->ifa_addr->sa_family == PF_INET) seen |= SEEN_IPV4; diff --git a/libc/inet/ifaddrs.c b/libc/inet/ifaddrs.c index 3afc6b923..1d54d5123 100644 --- a/libc/inet/ifaddrs.c +++ b/libc/inet/ifaddrs.c @@ -452,10 +452,7 @@ getifaddrs (struct ifaddrs **ifap) /* Allocate memory for all entries we have and initialize next pointer. */ - ifas = (struct ifaddrs_storage *) calloc (1, - (newlink + newaddr) - * sizeof (struct ifaddrs_storage) - + ifa_data_size); + ifas = calloc (1, (newlink + newaddr) * sizeof (ifas[0]) + ifa_data_size); if (ifas == NULL) { result = -1; |