[NTFS]
authorPierre Schweitzer <pierre@reactos.org>
Thu, 14 Apr 2016 20:39:55 +0000 (20:39 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Thu, 14 Apr 2016 20:39:55 +0000 (20:39 +0000)
Don't attempt to read a sparse run of the disk.

Patch by Trevor Thompson

CORE-10998

svn path=/trunk/; revision=71159

reactos/drivers/filesystems/ntfs/mft.c

index 2ce158b..3656568 100644 (file)
@@ -243,13 +243,19 @@ ReadAttribute(PDEVICE_EXTENSION Vcb,
 
     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;