diff options
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r-- | sys/kern/kern_event.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 038b233..bf89043 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -414,10 +414,10 @@ kevent(struct thread *td, struct kevent_args *uap) struct timespec ts; int i, n, nerrors, error; - fp = ffind_hold(td, uap->fd); - if (fp == NULL || fp->f_type != DTYPE_KQUEUE) { - if (fp != NULL) - fdrop(fp, td); + if ((error = fget(td, uap->fd, &fp)) != 0) + return (error); + if (fp->f_type != DTYPE_KQUEUE) { + fdrop(fp, td); return (EBADF); } if (uap->timeout != NULL) { |