Lines 634-644
in_lifaddr_ioctl(struct socket *so, u_lo
Link Here
|
634 |
} |
634 |
} |
635 |
|
635 |
|
636 |
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { |
636 |
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { |
637 |
if (ifa->ifa_addr->sa_family != AF_INET6) |
637 |
struct sockaddr_in *sa; |
|
|
638 |
sa=(struct sockaddr_in *)ifa->ifa_addr; |
639 |
if (ifa->ifa_addr->sa_family != AF_INET) |
638 |
continue; |
640 |
continue; |
639 |
if (match.s_addr == 0) |
641 |
if (match.s_addr == 0) |
640 |
break; |
642 |
break; |
641 |
candidate.s_addr = ((struct sockaddr_in *)&ifa->ifa_addr)->sin_addr.s_addr; |
643 |
candidate.s_addr = sa->sin_addr.s_addr; |
642 |
candidate.s_addr &= mask.s_addr; |
644 |
candidate.s_addr &= mask.s_addr; |
643 |
if (candidate.s_addr == match.s_addr) |
645 |
if (candidate.s_addr == match.s_addr) |
644 |
break; |
646 |
break; |