[FASTFAT]
authorEric Kohl <eric.kohl@reactos.org>
Fri, 13 Nov 2015 19:03:34 +0000 (19:03 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Fri, 13 Nov 2015 19:03:34 +0000 (19:03 +0000)
Deny access when trying to overwrite a read-only file.

svn path=/trunk/; revision=69880

reactos/drivers/filesystems/fastfat/create.c

index eef10de..8c68650 100644 (file)
@@ -411,7 +411,8 @@ VfatOpenFile(
 
     /* Fail, if we try to overwrite a read-only file */
     if ((*Fcb->Attributes & FILE_ATTRIBUTE_READONLY) &&
-        (RequestedDisposition == FILE_OVERWRITE))
+        (RequestedDisposition == FILE_OVERWRITE ||
+         RequestedDisposition == FILE_OVERWRITE_IF))
     {
         vfatReleaseFCB(DeviceExt, Fcb);
         return STATUS_ACCESS_DENIED;
@@ -580,6 +581,8 @@ VfatCreateFile(
     if (!OpenTargetDir)
     {
         Status = VfatOpenFile(DeviceExt, &PathNameU, FileObject, RequestedDisposition, &ParentFcb);
+        if (Status == STATUS_ACCESS_DENIED)
+            return Status;
     }
     else
     {