summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_oldselect.c
diff options
context:
space:
mode:
authorrvb <rvb@NetBSD.org>1998-09-08 20:02:51 +0000
committerrvb <rvb@NetBSD.org>1998-09-08 20:02:51 +0000
commit26b955eec752aecc4d96d17a49a30df1e581af71 (patch)
tree4d5225922a85a381480bf61fd610fb4419cdda69 /sys/compat/linux/common/linux_oldselect.c
parenta00eb709cbac475429d96c5df626880e15033c38 (diff)
ufs_readdir no longer checks if vp->v_type != VDIR so
the individual emulated readdirs must check. Since netbsd and freebsd return EINVAL for the error and I don't know what the other platforms do, return EINVAL for them too.
Diffstat (limited to 'sys/compat/linux/common/linux_oldselect.c')
-rw-r--r--sys/compat/linux/common/linux_oldselect.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/compat/linux/common/linux_oldselect.c b/sys/compat/linux/common/linux_oldselect.c
index a8b31985291..948227a8ba3 100644
--- a/sys/compat/linux/common/linux_oldselect.c
+++ b/sys/compat/linux/common/linux_oldselect.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_oldselect.c,v 1.44 1998/08/18 18:30:08 thorpej Exp $ */
+/* $NetBSD: linux_oldselect.c,v 1.45 1998/09/08 20:02:52 rvb Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -838,6 +838,8 @@ linux_sys_getdents(p, v, retval)
return (EBADF);
vp = (struct vnode *)fp->f_data;
+ if (vp->v_type != VDIR)
+ return (EINVAL);
if ((error = VOP_GETATTR(vp, &va, p->p_ucred, p)))
return error;