--- src/sys/kern/sys_generic.c 2004/08/13 11:59:00 1.17 +++ src/sys/kern/sys_generic.c 2004/09/13 23:41:18 1.18 @@ -765,8 +765,8 @@ selscan(struct proc *p, fd_mask **ibits, int poll(struct poll_args *uap) { - caddr_t bits; - char smallbits[32 * sizeof(struct pollfd)]; + struct pollfd *bits; + struct pollfd smallbits[32]; struct timeval atv, rtv, ttv; int s, ncoll, error = 0, timo; u_int nfds; @@ -808,7 +808,7 @@ poll(struct poll_args *uap) retry: ncoll = nselcoll; p->p_flag |= P_SELECT; - error = pollscan(p, (struct pollfd *)bits, nfds, &uap->sysmsg_result); + error = pollscan(p, bits, nfds, &uap->sysmsg_result); if (error || uap->sysmsg_result) goto done; if (atv.tv_sec || atv.tv_usec) {