DF-0400 / fix.diff
diff --git a/sys/net/route.c b/sys/net/route.c --- a/sys/net/route.c +++ b/sys/net/route.c @@ -1136,7 +1136,7 @@ /* avoid applying a less specific route */ xmp = (u_char *)rt_mask(rt->rt_parent); mlen = rt_key(rt->rt_parent)->sa_len; - if (mlen > rt_key(rt0)->sa_len) { + if (mlen > rt_key(rt0)->sa_len || mlen > rt_mask(rt->rt_parent)->sa_len) { #ifdef DEBUG if (rtfcdebug) kprintf("rt_fixchange: inserting a less " |