summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatthew <matthew@openbsd.org>2014-06-11 20:31:15 +0000
committermatthew <matthew@openbsd.org>2014-06-11 20:31:15 +0000
commitb7b855554c1b5f8fe9f34bded2faf13b2af6de99 (patch)
tree296d1dc8a8962ca9258ff3b91c07eb964b7a822f
parentReally remove the obsolete manpages left by earlier commit (diff)
downloadwireguard-openbsd-b7b855554c1b5f8fe9f34bded2faf13b2af6de99.tar.xz
wireguard-openbsd-b7b855554c1b5f8fe9f34bded2faf13b2af6de99.zip
Reject negative file offsets in /dev/ksyms.
ok deraadt, kettenis
-rw-r--r--sys/dev/ksyms.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ksyms.c b/sys/dev/ksyms.c
index a82c222ee53..635ebde3133 100644
--- a/sys/dev/ksyms.c
+++ b/sys/dev/ksyms.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ksyms.c,v 1.23 2013/10/17 08:02:19 deraadt Exp $ */
+/* $OpenBSD: ksyms.c,v 1.24 2014/06/11 20:31:15 matthew Exp $ */
/*
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
* Copyright (c) 2001 Artur Grabowski <art@openbsd.org>
@@ -154,6 +154,9 @@ ksymsread(dev_t dev, struct uio *uio, int flags)
caddr_t v;
size_t off;
+ if (uio->uio_offset < 0)
+ return (EINVAL);
+
while (uio->uio_resid > 0) {
if (uio->uio_offset >= ksym_head_size + ksym_syms_size)
break;