aboutsummaryrefslogtreecommitdiff
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1998-05-31 18:28:45 +0000
committerPeter Wemm <peter@FreeBSD.org>1998-05-31 18:28:45 +0000
commitf82a64e18de9782389ca9b3deb995e1fc3d87d68 (patch)
treea9d5f5b7480894104e0650cd6e4adf5de2824824 /sys/nfsclient
parent124765333ee4470f4be21dc04150b04d886077d3 (diff)
downloadsrc-f82a64e18de9782389ca9b3deb995e1fc3d87d68.tar.gz
src-f82a64e18de9782389ca9b3deb995e1fc3d87d68.zip
Don't let the user try and unlink() a directory on a NFS server.
Obtained from: NetBSD
Notes
Notes: svn path=/head/; revision=36524
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/nfs_vnops.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index ec621a39c054..c7edc3cb5bb3 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
- * $Id: nfs_vnops.c,v 1.95 1998/05/31 18:25:32 peter Exp $
+ * $Id: nfs_vnops.c,v 1.96 1998/05/31 18:27:07 peter Exp $
*/
@@ -1450,7 +1450,9 @@ nfs_remove(ap)
if (vp->v_usecount < 1)
panic("nfs_remove: bad v_usecount");
#endif
- if (vp->v_usecount == 1 || (np->n_sillyrename &&
+ if (vp->v_type == VDIR)
+ error = EPERM;
+ else if (vp->v_usecount == 1 || (np->n_sillyrename &&
VOP_GETATTR(vp, &vattr, cnp->cn_cred, cnp->cn_proc) == 0 &&
vattr.va_nlink > 1)) {
/*