mirror of
https://github.com/reactos/reactos.git
synced 2025-07-28 10:42:08 +00: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:
parent
17fa384a25
commit
f4d29a74aa
1 changed files with 1 additions and 4 deletions
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue