DragonFlyBSD Kernel Audit
DF-0051 / fix.diff
← back to finding ↓ download raw
1
2
3
4
5
6
7
8
9
--- a/sys/kern/sysv_msg.c
+++ b/sys/kern/sysv_msg.c
@@ -511,6 +511,9 @@
 	if (msgsz > msqptr->msg_qbytes) { ... EINVAL ... }
+	if (msgsz > (size_t)msginfo.msgmax) {
+		eval = EINVAL;
+		goto done;
+	}
 	segs_needed = howmany(msgsz, msginfo.msgssz);