https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f4d29a74aabf7e5f4cb74…
commit f4d29a74aabf7e5f4cb74a1694de08cd02fe7879
Author: Pierre Schweitzer <pierre(a)reactos.org>
AuthorDate: Sat Dec 1 21:50:54 2018 +0100
Commit: Pierre Schweitzer <pierre(a)reactos.org>
CommitDate: Sat Dec 1 21:52:55 2018 +0100
[NTFS] Don't perform overzealous checks on bitmap while reading a directory
This avoids partial direactory reads where we believe they are corrupted
while they are not.
---
drivers/filesystems/ntfs/mft.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/filesystems/ntfs/mft.c b/drivers/filesystems/ntfs/mft.c
index 24f28e0936..f03074cdfd 100644
--- a/drivers/filesystems/ntfs/mft.c
+++ b/drivers/filesystems/ntfs/mft.c
@@ -2823,13 +2823,10 @@ BrowseSubNodeIndexEntries(PNTFS_VCB Vcb,
// Is the bit for this node clear in the bitmap?
if (!RtlCheckBit(Bitmap, NodeNumber))
{
- DPRINT1("File system corruption detected, node with VCN %I64u is being
reused or is marked as deleted.\n", VCN);
+ DPRINT1("File system corruption detected, node with VCN %I64u is marked as
deleted.\n", VCN);
return STATUS_DATA_ERROR;
}
- // Clear the bit for this node so it can't be recursively referenced
- RtlClearBits(Bitmap, NodeNumber, 1);
-
// Allocate memory for the index record
IndexRecord = ExAllocatePoolWithTag(NonPagedPool, IndexBlockSize, TAG_NTFS);
if (!IndexRecord)