diff options
author | nectar <nectar@FreeBSD.org> | 2003-08-07 16:42:27 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2003-08-07 16:42:27 +0000 |
commit | df9de6c5cddb086d8d623c55d1cf800864f9fb29 (patch) | |
tree | b243f33137fa414f8c884b0de9a58ef0bf90260f /sys/kern/sysv_shm.c | |
parent | 0e7767264fa208c91b875189149b064c580b630a (diff) | |
download | FreeBSD-src-df9de6c5cddb086d8d623c55d1cf800864f9fb29.zip FreeBSD-src-df9de6c5cddb086d8d623c55d1cf800864f9fb29.tar.gz |
Update some argument-documenting comments to match reality.
Add an explicit range check to those same arguments to reduce risk of
cardiac arrest in future code readers.
Diffstat (limited to 'sys/kern/sysv_shm.c')
-rw-r--r-- | sys/kern/sysv_shm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index a64c7f3..7e9073b 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -784,7 +784,7 @@ shmsys(td, uap) struct thread *td; /* XXX actually varargs. */ struct shmsys_args /* { - u_int which; + int which; int a2; int a3; int a4; @@ -794,7 +794,8 @@ shmsys(td, uap) if (!jail_sysvipc_allowed && jailed(td->td_ucred)) return (ENOSYS); - if (uap->which >= sizeof(shmcalls)/sizeof(shmcalls[0])) + if (uap->which < 0 || + uap->which >= sizeof(shmcalls)/sizeof(shmcalls[0])) return (EINVAL); mtx_lock(&Giant); error = (*shmcalls[uap->which])(td, &uap->a2); |