From 345247a596415d6a59c0e2be78b56d1e2c27d303 Mon Sep 17 00:00:00 2001 From: yura Date: Sat, 3 Jun 2006 22:09:24 +0000 Subject: [PATCH] ntfs_link(): prevent creating of recursive directary structure. FUSE incorrectly handles case insensitive filesystems: when I try to rename "/Dir" to "/DIR", ntfsmount receive rename("/Dir", "/DIR/Dir") call. This patch do not fix rename, but prevent fs corruption. I will mail Miklos about this problem. --- libntfs/dir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libntfs/dir.c b/libntfs/dir.c index 680fd275..aef26af0 100644 --- a/libntfs/dir.c +++ b/libntfs/dir.c @@ -1611,7 +1611,8 @@ int ntfs_link(ntfs_inode *ni, ntfs_inode *dir_ni, ntfschar *name, u8 name_len) int fn_len, err; ntfs_log_trace("Entering.\n"); - if (!ni || !dir_ni || !name || !name_len) { + if (!ni || !dir_ni || !name || !name_len || + ni->mft_no == dir_ni->mft_no) { err = errno; ntfs_log_error("Invalid arguments.\n"); goto err_out;