# HG changeset patch # User tron # Date 1150550722 0 # Node ID cac65872c4c187a8c26faaec991a168ce7418b0f # Parent 627aca47ae765d9363cf8f5306a3e8d9cf2857e0 (svn r5297) Check the interface flags if IFF_BROADCAST is set before asking for the broadcast address diff -r 627aca47ae76 -r cac65872c4c1 network.c --- a/network.c Sat Jun 17 12:11:17 2006 +0000 +++ b/network.c Sat Jun 17 13:25:22 2006 +0000 @@ -427,7 +427,9 @@ 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; }