summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-10-07 10:14:12 +0000
committerbde <bde@FreeBSD.org>1995-10-07 10:14:12 +0000
commit9674b45cfa0a7de8553d61513a462108c5f2e00b (patch)
tree5a9932e63b89bffd1324e76ba41ece96c20faca1 /sys/msdosfs
parent591ef5eca73bf4be0b340ce8f561343798485a15 (diff)
downloadFreeBSD-src-9674b45cfa0a7de8553d61513a462108c5f2e00b.zip
FreeBSD-src-9674b45cfa0a7de8553d61513a462108c5f2e00b.tar.gz
Return EINVAL instead of panicing for rename("dir1", "dir2/..").
Fixes part of PR 760. This bug seems to be very old.
Diffstat (limited to 'sys/msdosfs')
-rw-r--r--sys/msdosfs/msdosfs_vnops.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c
index 6689d1d..e3b4a5c 100644
--- a/sys/msdosfs/msdosfs_vnops.c
+++ b/sys/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_vnops.c,v 1.22 1995/08/25 20:12:23 bde Exp $ */
+/* $Id: msdosfs_vnops.c,v 1.23 1995/09/04 00:20:45 dyson Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.20 1994/08/21 18:44:13 ws Exp $ */
/*-
@@ -1031,7 +1031,8 @@ msdosfs_rename(ap)
if ((ap->a_fcnp->cn_namelen == 1
&& ap->a_fcnp->cn_nameptr[0] == '.')
|| fddep == fdep
- || (ap->a_fcnp->cn_flags & ISDOTDOT)) {
+ || (ap->a_fcnp->cn_flags | ap->a_tcnp->cn_flags)
+ & ISDOTDOT) {
VOP_ABORTOP(ap->a_tdvp, ap->a_tcnp);
vput(ap->a_tdvp);
if (tvp)
OpenPOWER on IntegriCloud