diff options
| author | Jacques Vidrine <nectar@FreeBSD.org> | 2003-08-07 16:42:27 +0000 |
|---|---|---|
| committer | Jacques Vidrine <nectar@FreeBSD.org> | 2003-08-07 16:42:27 +0000 |
| commit | 01b9dc96e3a21ff52fc228b146e964796ecefce2 (patch) | |
| tree | b243f33137fa414f8c884b0de9a58ef0bf90260f /sys/kern/sysv_sem.c | |
| parent | 64f80a8302d1b3e9b810c5ea8bb1fb1172a0a19e (diff) | |
Notes
Diffstat (limited to 'sys/kern/sysv_sem.c')
| -rw-r--r-- | sys/kern/sysv_sem.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 58e502d39a36..6ffe9c2b757a 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -275,7 +275,7 @@ semsys(td, uap) struct thread *td; /* XXX actually varargs. */ struct semsys_args /* { - u_int which; + int which; int a2; int a3; int a4; @@ -286,7 +286,8 @@ semsys(td, uap) if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - if (uap->which >= sizeof(semcalls)/sizeof(semcalls[0])) + if (uap->which < 0 || + uap->which >= sizeof(semcalls)/sizeof(semcalls[0])) return (EINVAL); error = (*semcalls[uap->which])(td, &uap->a2); return (error); |
