summaryrefslogtreecommitdiffstats
path: root/sys/ufs
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/ufs
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/ufs')
-rw-r--r--sys/ufs/ufs/ufs_vnops.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index d99c713..958fdd1 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)ufs_vnops.c 8.10 (Berkeley) 4/1/94
- * $Id: ufs_vnops.c,v 1.28 1995/09/04 00:21:11 dyson Exp $
+ * $Id: ufs_vnops.c,v 1.29 1995/09/09 01:43:49 julian Exp $
*/
#include <sys/param.h>
@@ -840,7 +840,7 @@ abortit:
* Avoid ".", "..", and aliases of "." for obvious reasons.
*/
if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
- dp == ip || (fcnp->cn_flags&ISDOTDOT) ||
+ dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT ||
(ip->i_flag & IN_RENAME)) {
VOP_UNLOCK(fvp);
error = EINVAL;
OpenPOWER on IntegriCloud