Index: sys/i386/isa/vesa.c
diff -u sys/i386/isa/vesa.c:1.32 sys/i386/isa/vesa.c:1.32.10.1
--- sys/i386/isa/vesa.c:1.32	Sat Jan 29 07:08:40 2000
+++ sys/i386/isa/vesa.c	Tue Aug 13 05:12:40 2002
@@ -1317,7 +1317,9 @@
 	int bits;
 	int error;
 
-	if ((base < 0) || (base >= 256) || (base + count > 256))
+	if ((base < 0) || (base >= 256) || (count < 0) || (count > 256))
+		return 1;
+	if (base + count > 256)
 		return 1;
 	if (!(vesa_adp_info->v_flags & V_DAC8) || !VESA_MODE(adp->va_mode))
 		return 1;
Index: sys/kern/uipc_syscalls.c
diff -u sys/kern/uipc_syscalls.c:1.65.2.9 sys/kern/uipc_syscalls.c:1.65.2.9.6.1
--- sys/kern/uipc_syscalls.c:1.65.2.9	Tue Jul 31 03:49:39 2001
+++ sys/kern/uipc_syscalls.c	Tue Aug 13 05:12:41 2002
@@ -206,6 +206,8 @@
 			sizeof (namelen));
 		if(error)
 			return (error);
+		if (namelen < 0)
+			return (EINVAL);
 	}
 	error = holdsock(fdp, uap->s, &lfp);
 	if (error)
@@ -1193,6 +1195,10 @@
 		fdrop(fp, p);
 		return (error);
 	}
+	if (len < 0) {
+		fdrop(fp, p);
+		return (EINVAL);
+	}
 	so = (struct socket *)fp->f_data;
 	sa = 0;
 	error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, &sa);
@@ -1271,6 +1277,10 @@
 	if (error) {
 		fdrop(fp, p);
 		return (error);
+	}
+	if (len < 0) {
+		fdrop(fp, p);
+		return (EINVAL);
 	}
 	sa = 0;
 	error = (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, &sa);
