mirror of
https://github.com/reactos/reactos.git
synced 2026-06-01 17:00:51 +08:00
[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:
@@ -2823,13 +2823,10 @@ BrowseSubNodeIndexEntries(PNTFS_VCB Vcb,
|
|||||||
// Is the bit for this node clear in the bitmap?
|
// Is the bit for this node clear in the bitmap?
|
||||||
if (!RtlCheckBit(Bitmap, NodeNumber))
|
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;
|
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
|
// Allocate memory for the index record
|
||||||
IndexRecord = ExAllocatePoolWithTag(NonPagedPool, IndexBlockSize, TAG_NTFS);
|
IndexRecord = ExAllocatePoolWithTag(NonPagedPool, IndexBlockSize, TAG_NTFS);
|
||||||
if (!IndexRecord)
|
if (!IndexRecord)
|
||||||
|
|||||||
Reference in New Issue
Block a user