From: Ondrej Zajicek Date: Tue, 28 May 2013 08:44:44 +0000 (+0200) Subject: Fixes problems with routing table scans on some platforms. X-Git-Tag: v1.3.11~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9810d055628877232f811d684567e203381e10dc;p=thirdparty%2Fbird.git Fixes problems with routing table scans on some platforms. Negative bit shifts are definitely undefined oprations. --- diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c index d1b203ef6..1d24ae0ff 100644 --- a/sysdep/linux/netlink.c +++ b/sysdep/linux/netlink.c @@ -843,9 +843,11 @@ nl_parse_route(struct nlmsghdr *h, int scan) memcpy(&ra.gw, RTA_DATA(a[RTA_GATEWAY]), sizeof(ra.gw)); ipa_ntoh(ra.gw); +#ifdef IPV6 /* Silently skip strange 6to4 routes */ if (ipa_in_net(ra.gw, IPA_NONE, 96)) return; +#endif ng = neigh_find2(&p->p, &ra.gw, ra.iface, (i->rtm_flags & RTNH_F_ONLINK) ? NEF_ONLINK : 0);