{
ip_address_item *running_interfaces = NULL;
-if (local_interface_data == NULL)
+if (!local_interface_data)
{
void *reset_item = store_mark();
ip_address_item *dlist = host_build_ifacelist(CUS local_interfaces,
for (struct ifaddrs * ifa = ifalist; ifa; ifa = ifa->ifa_next)
{
- if (ifa->ifa_addr->sa_family != AF_INET
+ struct sockaddr * ifa_addr = ifa->ifa_addr;
+ if (!ifa_addr) continue;
+ if (ifa_addr->sa_family != AF_INET
#if HAVE_IPV6
- && ifa->ifa_addr->sa_family != AF_INET6
+ && ifa_addr->sa_family != AF_INET6
#endif /* HAVE_IPV6 */
)
continue;
next = store_get(sizeof(ip_address_item), FALSE);
next->next = NULL;
next->port = 0;
- (void)host_ntoa(-1, ifa->ifa_addr, next->address, NULL);
+ (void)host_ntoa(-1, ifa_addr, next->address, NULL);
- if (yield == NULL)
+ if (!yield)
yield = last = next;
else
{