--- sys/netinet/ip_input.c.updated Wed Jul 3 21:08:29
2002 +++ sys/netinet/ip_input.c Sat Sep 14 06:30:21 2002 @@ -371,6 +371,9 @@
struct mbuf *m0 = m;
if (fr_checkp && (*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0,
&m0))
return; + if (m0 == 0) { /* in case of 'fastroute' */ + return; + }
ip = mtod(m = m0, struct ip *);
}
#endif --- sys/netinet/ip_output.c.updated Wed Jul 3 21:08:30 2002 +++
sys/netinet/ip_output.c Sat Sep 14 06:29:57 2002 @@ -702,8 +702,12 @@
if (fr_checkp && (*fr_checkp)(ip, hlen, ifp, 1, &m0)) {
error = EHOSTUNREACH;
goto done; - } else - ip = mtod(m = m0, struct ip *); + } + if (m0 ==
0) { /* in case of 'fastroute' */ + error = 0; + goto done; + } + ip =
mtod(m = m0, struct ip *);
}
#endif
/*