summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2010-01-11 07:13:31 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2010-01-11 07:13:31 +0000
commitd030e2a529214003c930ca152cfc6419eb838e7f (patch)
treed1fcad548b247893f19b331e088537108f305266
parentef71cd3fc87017bde947092f6497a6bed6c41732 (diff)
Pull in fix from kif via FreeBSD r1.114 to properly initialize
uio_off. Prevents crap being passed as the starting offset to getdirentries(), which could lead to various kinds of confusion when trying to process cd9660 directory entries. Problem seen by jsg@, who also found the fix in FreeBSD. ok beck@
-rw-r--r--sys/isofs/cd9660/cd9660_vnops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c
index 8eba08cc62a..f68450f0007 100644
--- a/sys/isofs/cd9660/cd9660_vnops.c
+++ b/sys/isofs/cd9660/cd9660_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660_vnops.c,v 1.48 2009/08/13 15:00:14 jasper Exp $ */
+/* $OpenBSD: cd9660_vnops.c,v 1.49 2010/01/11 07:13:30 krw Exp $ */
/* $NetBSD: cd9660_vnops.c,v 1.42 1997/10/16 23:56:57 christos Exp $ */
/*-
@@ -531,6 +531,7 @@ cd9660_readdir(v)
}
idp->eofflag = 1;
idp->curroff = uio->uio_offset;
+ idp->uio_off = uio->uio_offset;
if ((entryoffsetinblock = idp->curroff & bmask) &&
(error = cd9660_bufatoff(dp, (off_t)idp->curroff, NULL, &bp))) {