summaryrefslogtreecommitdiff
path: root/sys/kern/sysv_sem.c
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2003-08-07 16:42:27 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2003-08-07 16:42:27 +0000
commit01b9dc96e3a21ff52fc228b146e964796ecefce2 (patch)
treeb243f33137fa414f8c884b0de9a58ef0bf90260f /sys/kern/sysv_sem.c
parent64f80a8302d1b3e9b810c5ea8bb1fb1172a0a19e (diff)
Notes
Diffstat (limited to 'sys/kern/sysv_sem.c')
-rw-r--r--sys/kern/sysv_sem.c5
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);