summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>2004-11-18 17:12:33 +0000
committermillert <millert@openbsd.org>2004-11-18 17:12:33 +0000
commit4b72b7be153f136490928ebbd79e74d1190a1b0f (patch)
tree472b4d24a763fab8641794db3c1bffb3b8ae4950
parentadd an instance of struct capabilities to peer_conf, and inherit (diff)
downloadwireguard-openbsd-4b72b7be153f136490928ebbd79e74d1190a1b0f.tar.xz
wireguard-openbsd-4b72b7be153f136490928ebbd79e74d1190a1b0f.zip
Better and simpler check for negative offset; from Christer Oberg
-rw-r--r--sys/miscfs/kernfs/kernfs_vnops.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/miscfs/kernfs/kernfs_vnops.c b/sys/miscfs/kernfs/kernfs_vnops.c
index cc7cf3080fb..86a33926edf 100644
--- a/sys/miscfs/kernfs/kernfs_vnops.c
+++ b/sys/miscfs/kernfs/kernfs_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kernfs_vnops.c,v 1.41 2004/09/01 21:06:17 millert Exp $ */
+/* $OpenBSD: kernfs_vnops.c,v 1.42 2004/11/18 17:12:33 millert Exp $ */
/* $NetBSD: kernfs_vnops.c,v 1.43 1996/03/16 23:52:47 christos Exp $ */
/*
@@ -696,6 +696,8 @@ kernfs_read(v)
printf("kern_read %s\n", kt->kt_name);
#endif
+ if (uio->uio_offset < 0)
+ return (EINVAL);
off = uio->uio_offset;
#if 0
while (buf = strbuf,
@@ -705,8 +707,6 @@ kernfs_read(v)
len = kernfs_xread(kt, off, &buf, sizeof(strbuf))) {
if ((error = uiomove(buf, len, uio)) != 0)
return (error);
- if (off <= INT_MAX - len)
- off += len; /* XXX - should use quad */
}
return (0);
}