diff options
author | 2003-11-20 22:22:35 +0000 | |
---|---|---|
committer | 2003-11-20 22:22:35 +0000 | |
commit | dd13f50e42ea00ce824311d739f339e99fb26687 (patch) | |
tree | 3982028f19231f15188810cfcf61b446f48f9deb | |
parent | correct prototype; nsops is unsigned (diff) | |
download | wireguard-openbsd-dd13f50e42ea00ce824311d739f339e99fb26687.tar.xz wireguard-openbsd-dd13f50e42ea00ce824311d739f339e99fb26687.zip |
Correct bounds check in semop(2) and semctl(2)
-rw-r--r-- | sys/kern/sysv_sem.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 3bd3d492293..4243d575943 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sysv_sem.c,v 1.21 2003/09/09 18:57:36 tedu Exp $ */ +/* $OpenBSD: sysv_sem.c,v 1.22 2003/11/20 22:22:35 millert Exp $ */ /* $NetBSD: sysv_sem.c,v 1.26 1996/02/09 19:00:25 christos Exp $ */ /* @@ -276,7 +276,7 @@ sys___semctl(struct proc *p, void *v, register_t *retval) DPRINTF(("call to semctl(%d, %d, %d, %p)\n", semid, semnum, cmd, arg)); semid = IPCID_TO_IX(semid); - if (semid < 0 || semid >= seminfo.semmsl) + if (semid < 0 || semid >= seminfo.semmni) return (EINVAL); if ((semaptr = sema[semid]) == NULL || @@ -531,7 +531,7 @@ sys_semop(struct proc *p, void *v, register_t *retval) semid = IPCID_TO_IX(semid); /* Convert back to zero origin */ - if (semid < 0 || semid >= seminfo.semmsl) + if (semid < 0 || semid >= seminfo.semmni) return (EINVAL); if ((semaptr = sema[semid]) == NULL || |