Author: pschweitzer
Date: Thu Apr 14 20:39:55 2016
New Revision: 71159
URL: http://svn.reactos.org/svn/reactos?rev=71159&view=rev
Log:
[NTFS]
Don't attempt to read a sparse run of the disk.
Patch by Trevor Thompson
CORE-10998
Modified:
trunk/reactos/drivers/filesystems/ntfs/mft.c
Modified: trunk/reactos/drivers/filesystems/ntfs/mft.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/mft.c?rev=71159&r1=71158&r2=71159&view=diff
==============================================================================
--- trunk/reactos/drivers/filesystems/ntfs/mft.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/ntfs/mft.c [iso-8859-1] Thu Apr 14
20:39:55 2016
@@ -243,13 +243,19 @@
ReadLength = (ULONG)min(DataRunLength * Vcb->NtfsInfo.BytesPerCluster -
(Offset - CurrentOffset), Length);
if (DataRunStartLCN == -1)
+ {
RtlZeroMemory(Buffer, ReadLength);
- Status = NtfsReadDisk(Vcb->StorageDevice,
- DataRunStartLCN * Vcb->NtfsInfo.BytesPerCluster +
Offset - CurrentOffset,
- ReadLength,
- Vcb->NtfsInfo.BytesPerSector,
- (PVOID)Buffer,
- FALSE);
+ Status = STATUS_SUCCESS;
+ }
+ else
+ {
+ Status = NtfsReadDisk(Vcb->StorageDevice,
+ DataRunStartLCN * Vcb->NtfsInfo.BytesPerCluster
+ Offset - CurrentOffset,
+ ReadLength,
+ Vcb->NtfsInfo.BytesPerSector,
+ (PVOID)Buffer,
+ FALSE);
+ }
if (NT_SUCCESS(Status))
{
Length -= ReadLength;