summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1996-11-09 10:25:04 +0000
committerbde <bde@FreeBSD.org>1996-11-09 10:25:04 +0000
commit45a07936947bef82c6d2685292a46be64a0ca661 (patch)
treeb7c037c8a6008975ca755045e41349bb45a03d48 /sys/gnu
parente0d772d463be557c665566584666fb016b32bc0f (diff)
downloadFreeBSD-src-45a07936947bef82c6d2685292a46be64a0ca661.zip
FreeBSD-src-45a07936947bef82c6d2685292a46be64a0ca661.tar.gz
Fixed lookup of ".." in checkpath. It always failed, so renames of
directories to a different parent directory always failed. This bug was caused by 4.4Lite2 changing the directory format and ext2fs not keeping up. Should be in 2.2.
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/ext2fs/ext2_lookup.c2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_lookup.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/gnu/ext2fs/ext2_lookup.c b/sys/gnu/ext2fs/ext2_lookup.c
index af3a7bb..baeaa52 100644
--- a/sys/gnu/ext2fs/ext2_lookup.c
+++ b/sys/gnu/ext2fs/ext2_lookup.c
@@ -1046,7 +1046,7 @@ ext2_checkpath(source, target, cred)
IO_NODELOCKED, cred, (int *)0, (struct proc *)0);
if (error != 0)
break;
- namlen = dirbuf.dotdot_namlen;
+ namlen = ((struct odirtemplate *)&dirbuf)->dotdot_namlen; /* XXX */
if (namlen != 2 ||
dirbuf.dotdot_name[0] != '.' ||
dirbuf.dotdot_name[1] != '.') {
diff --git a/sys/gnu/fs/ext2fs/ext2_lookup.c b/sys/gnu/fs/ext2fs/ext2_lookup.c
index af3a7bb..baeaa52 100644
--- a/sys/gnu/fs/ext2fs/ext2_lookup.c
+++ b/sys/gnu/fs/ext2fs/ext2_lookup.c
@@ -1046,7 +1046,7 @@ ext2_checkpath(source, target, cred)
IO_NODELOCKED, cred, (int *)0, (struct proc *)0);
if (error != 0)
break;
- namlen = dirbuf.dotdot_namlen;
+ namlen = ((struct odirtemplate *)&dirbuf)->dotdot_namlen; /* XXX */
if (namlen != 2 ||
dirbuf.dotdot_name[0] != '.' ||
dirbuf.dotdot_name[1] != '.') {
OpenPOWER on IntegriCloud