[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.
This commit is contained in:
Pierre Schweitzer 2018-12-01 21:50:54 +01:00
parent 17fa384a25
commit f4d29a74aa
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -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)