diff --git a/sys/net/radix.c b/sys/net/radix.c --- a/sys/net/radix.c +++ b/sys/net/radix.c @@ -884,9 +884,10 @@ klen = clen(key); saved_tt = tt; top = x; - if (tt == NULL || + if (klen < head_off || + tt == NULL || bcmp((const u_char *)key + head_off, tt->rn_key + head_off, - klen - head_off) != 0) + klen - head_off) != 0) return (NULL); /*