Apply by doing:
       cd /usr/src
       patch -p0 < 018_kernresource.patch
And then rebuild your kernel.

Index: sys/kern/kern_resource.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_resource.c,v
retrieving revision 1.18
retrieving revision 1.18.2.2
diff -u -r1.18 -r1.18.2.2
--- sys/kern/kern_resource.c    25 Jan 2002 14:54:00 -0000      1.18
+++ sys/kern/kern_resource.c    6 Nov 2002 22:11:53 -0000       1.18.2.2
@@ -1,4 +1,4 @@
-/*     $OpenBSD: kern_resource.c,v 1.18 2002/01/25 14:54:00 art Exp $  */
+/*     $OpenBSD: kern_resource.c,v 1.18.2.2 2002/11/06 22:11:53 miod Exp $     */
/*     $NetBSD: kern_resource.c,v 1.38 1996/10/23 07:19:38 matthias Exp $      */

/*-
@@ -213,7 +213,7 @@
       register_t *retval;
{
       register struct sys_setrlimit_args /* {
-               syscallarg(u_int) which;
+               syscallarg(int) which;
               syscallarg(struct rlimit *) rlp;
       } */ *uap = v;
       struct rlimit alim;
@@ -324,11 +324,11 @@
       register_t *retval;
{
       register struct sys_getrlimit_args /* {
-               syscallarg(u_int) which;
+               syscallarg(int) which;
               syscallarg(struct rlimit *) rlp;
       } */ *uap = v;

-       if (SCARG(uap, which) >= RLIM_NLIMITS)
+       if (SCARG(uap, which) < 0 || SCARG(uap, which) >= RLIM_NLIMITS)
               return (EINVAL);
       return (copyout((caddr_t)&p->p_rlimit[SCARG(uap, which)],
           (caddr_t)SCARG(uap, rlp), sizeof (struct rlimit)));