DragonFlyBSD Kernel Audit
DF-0495 / fix.diff
← back to finding ↓ download raw
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);
 
 	/*