Avoid a null dereference if IFF_BROADCAST is set but there is no broadcast address
It seems that the getifaddrs() function can return interfaces with IFF_BROADCAST & IFF_UP set, but no broadcast address (at least under Cygwin 1.7, this seems to happen for v6 mapped v4 addresses) Avoid a null dereference if this ever happens Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
091cbbaed7
commit
28eb61fc04
|
@ -811,7 +811,8 @@ DefineSelf (int fd)
|
||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
if ((ifr->ifa_flags & IFF_BROADCAST) &&
|
if ((ifr->ifa_flags & IFF_BROADCAST) &&
|
||||||
(ifr->ifa_flags & IFF_UP))
|
(ifr->ifa_flags & IFF_UP) &&
|
||||||
|
ifr->ifa_broadaddr)
|
||||||
broad_addr = *ifr->ifa_broadaddr;
|
broad_addr = *ifr->ifa_broadaddr;
|
||||||
else
|
else
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in New Issue