summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1998-05-31 18:28:45 +0000
committerpeter <peter@FreeBSD.org>1998-05-31 18:28:45 +0000
commitf61450c5b001db5241d839c8b1ba5da34cd132ad (patch)
treea6c02245d94a2d89a9d728648d3b1801cb29c8e8 /sys/nfsclient
parentc45767477f32c6f11172fc84c4de6a65b44b764a (diff)
downloadFreeBSD-src-f61450c5b001db5241d839c8b1ba5da34cd132ad.zip
FreeBSD-src-f61450c5b001db5241d839c8b1ba5da34cd132ad.tar.gz
Don't let the user try and unlink() a directory on a NFS server.
Obtained from: NetBSD
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 ec621a3..c7edc3c 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)) {
/*
OpenPOWER on IntegriCloud