Index: sysv_sem.c =================================================================== RCS file: /cvs/src/sys/kern/sysv_sem.c,v diff -u -p -r1.64 sysv_sem.c --- sysv_sem.c 9 Jul 2024 04:42:48 -0000 1.64 +++ sysv_sem.c 23 Aug 2024 01:18:56 -0000 @@ -560,8 +560,12 @@ sys_semop(struct proc *p, void *v, regis if (nsops <= NSOPS) sops = sopbuf; - else - sops = mallocarray(nsops, sizeof(struct sembuf), M_SEM, M_WAITOK); + else { + sops = mallocarray(nsops, sizeof(struct sembuf), M_SEM, + M_WAITOK | M_CANFAIL); + if (sops == NULL) + return (ENOMEM); + } error = copyin(SCARG(uap, sops), sops, nsops * sizeof(struct sembuf)); if (error != 0) { DPRINTF(("error = %d from copyin(%p, %p, %zu)\n", error,