Apply by doing: cd /usr/src/sys/kern patch < poll.patch And then rebuild your kernel. =================================================================== RCS file: /usr/OpenBSD/cvs/src/sys/kern/sys_generic.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- src/sys/kern/sys_generic.c 1999/02/14 21:11:01 1.17 +++ src/sys/kern/sys_generic.c 1999/03/22 02:22:15 1.18 @@ -807,13 +807,18 @@ register_t *retval; { struct sys_poll_args *uap = v; - size_t sz = sizeof(struct pollfd) * SCARG(uap, nfds); + size_t sz; struct pollfd *pl; int msec = SCARG(uap, timeout); struct timeval atv; int timo, ncoll, i, s, error, error2; extern int nselcoll, selwait; + /* XXX constrain; This may not match standards */ + if (SCARG(uap, nfds) > p->p_fd->fd_nfiles) + SCARG(uap, nfds) = p->p_fd->fd_nfiles; + sz = sizeof(struct pollfd) * SCARG(uap, nfds); + pl = (struct pollfd *) malloc(sz, M_TEMP, M_WAITOK); if ((error = copyin(SCARG(uap, fds), pl, sz)) != 0)