DEVEL15-macos-no-read-on-directories-20071127
authorDerrick Brashear <shadow@dementia.org>
Tue, 27 Nov 2007 20:02:35 +0000 (20:02 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 27 Nov 2007 20:02:35 +0000 (20:02 +0000)
thanks to quentin@mit.edu for pointing this out.

no read() on directories

(cherry picked from commit 746aab982ae3b7b6e1fb8109e5e9892a1821d6ec)

src/afs/DARWIN/osi_vnodeops.c

index 467570e..ba7197f 100644 (file)
@@ -743,6 +743,9 @@ afs_vop_read(ap)
     int code;
     struct vnode *vp = ap->a_vp;
     struct vcache *avc = VTOAFS(vp);
+
+    if (vnode_isdir(ap->a_vp)) 
+       return EISDIR;
 #ifdef AFS_DARWIN80_ENV
     ubc_sync_range(ap->a_vp, AFS_UIO_OFFSET(ap->a_uio), AFS_UIO_OFFSET(ap->a_uio) + AFS_UIO_RESID(ap->a_uio), UBC_PUSHDIRTY);
 #else