From 2c22850a20abad7ec24f12e7dfea200f3db8aec4 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Wed, 5 Jun 2024 08:21:13 +0200 Subject: [PATCH] net: get_local_addresses - ifaddrs.ifa_addr can be NULL The pointer ifa_addr in struct ifaddrs can be NULL and indeed it occurs (perhaps with interfaces without assigned addrs?). Steps to reproduce: ``` uv -x sdp -t testcard -c lavc:subs=420 ```` --- src/utils/net.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils/net.c b/src/utils/net.c index 81897e084..1a686b47d 100644 --- a/src/utils/net.c +++ b/src/utils/net.c @@ -315,6 +315,10 @@ bool get_local_addresses(struct sockaddr_storage *addrs, size_t *len, int ip_ver getifaddrs(&a); struct ifaddrs* p = a; while (NULL != p) { + if (p->ifa_addr == NULL) { + p = p->ifa_next; + continue; + } if ((ip_version == 0 && (p->ifa_addr->sa_family == AF_INET || p->ifa_addr->sa_family == AF_INET6)) || (ip_version == 4 && p->ifa_addr->sa_family == AF_INET) || (ip_version == 6 && p->ifa_addr->sa_family == AF_INET6)) {