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);