socket: Skip ifa's without ifa->ifa_addr
authorHarald Welte <laforge@gnumonks.org>
Tue, 24 May 2011 19:31:53 +0000 (21:31 +0200)
committerHarald Welte <laforge@gnumonks.org>
Tue, 24 May 2011 19:46:07 +0000 (21:46 +0200)
Apparently getifaddrs() returns ifa's without an ifa_addr set.

src/socket.c

index 66907c8..901b8cd 100644 (file)
@@ -169,6 +169,8 @@ int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen)
        }
 
        for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
+               if (!ifa->ifa_addr)
+                       continue;
                if (sockaddr_equal(ifa->ifa_addr, addr, addrlen))
                        return 1;
        }