[FASTFAT] Fix size checking in VfatGetFileNameInformation()
[reactos.git] / drivers / filesystems / ntfs / blockdev.c
index ed1d642..6c90131 100644 (file)
@@ -87,6 +87,12 @@ NtfsReadDisk(IN PDEVICE_OBJECT DeviceObject,
     if (Irp == NULL)
     {
         DPRINT("IoBuildSynchronousFsdRequest failed\n");
+
+        if (AllocatedBuffer)
+        {
+            ExFreePoolWithTag(ReadBuffer, TAG_NTFS);
+        }
+
         return STATUS_INSUFFICIENT_RESOURCES;
     }
 
@@ -108,9 +114,13 @@ NtfsReadDisk(IN PDEVICE_OBJECT DeviceObject,
         Status = IoStatus.Status;
     }
 
-    if (NT_SUCCESS(Status) && AllocatedBuffer)
+    if (AllocatedBuffer)
     {
-        RtlCopyMemory(Buffer, ReadBuffer + (StartingOffset - RealReadOffset), Length);
+        if (NT_SUCCESS(Status))
+        {
+            RtlCopyMemory(Buffer, ReadBuffer + (StartingOffset - RealReadOffset), Length);
+        }
+
         ExFreePoolWithTag(ReadBuffer, TAG_NTFS);
     }