DragonFlyBSD Kernel Audit
DF-0400 / fix.diff
← back to finding ↓ download raw
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 "