summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_event.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r--sys/kern/kern_event.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index a0c4fa4..e4bf40b 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -1083,8 +1083,11 @@ kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td, int wa
findkn:
if (fops->f_isfd) {
KASSERT(td != NULL, ("td is NULL"));
- error = fget(td, kev->ident,
- cap_rights_init(&rights, CAP_EVENT), &fp);
+ if (kev->ident > INT_MAX)
+ error = EBADF;
+ else
+ error = fget(td, kev->ident,
+ cap_rights_init(&rights, CAP_EVENT), &fp);
if (error)
goto done;
OpenPOWER on IntegriCloud