1
0
Fork 0

(svn r5297) Check the interface flags if IFF_BROADCAST is set before asking for the broadcast address

release/0.5
tron 2006-06-17 13:25:22 +00:00
parent 5db6c57bea
commit c8f6c4ef2f
1 changed files with 3 additions and 1 deletions

View File

@ -427,7 +427,9 @@ static void NetworkFindIPs(void)
struct ifreq r;
strncpy(r.ifr_name, req->ifr_name, lengthof(r.ifr_name));
if (ioctl(sock, SIOCGIFBRDADDR, &r) != -1) {
if (ioctl(sock, SIOCGIFFLAGS, &r) != -1 &&
r.ifr_flags & IFF_BROADCAST &&
ioctl(sock, SIOCGIFBRDADDR, &r) != -1) {
_broadcast_list[i++] =
((struct sockaddr_in*)&r.ifr_broadaddr)->sin_addr.s_addr;
}