DragonFlyBSD Kernel Audit
DF-0390 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -1017,6 +1017,9 @@
 		if ((rtinfo->rti_addrs & (1 << i)) == 0)
 			continue;
 		sa = (struct sockaddr *)cp;
+		if (sa->sa_len < 2) {
+			return (EINVAL);
+		}
 		/*
 		 * It won't fit.
 		 */