Don't check the share access for directories.
authorHartmut Birr <osexpert@googlemail.com>
Sun, 18 Sep 2005 13:10:43 +0000 (13:10 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Sun, 18 Sep 2005 13:10:43 +0000 (13:10 +0000)
svn path=/trunk/; revision=17910

reactos/drivers/fs/vfat/cleanup.c
reactos/drivers/fs/vfat/create.c

index db2cccc..c56f4fb 100644 (file)
@@ -75,7 +75,10 @@ VfatCleanupFile(PVFAT_IRP_CONTEXT IrpContext)
      CcUninitializeCacheMap (FileObject, NULL, NULL);
 #endif
      pFcb->OpenHandleCount--;
      CcUninitializeCacheMap (FileObject, NULL, NULL);
 #endif
      pFcb->OpenHandleCount--;
-     IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
+     if (!(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
+       {
+         IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
+       }
     }
   return STATUS_SUCCESS;
 }
     }
   return STATUS_SUCCESS;
 }
index 18e473a..dbcef14 100644 (file)
@@ -612,7 +612,8 @@ VfatCreateFile (PDEVICE_OBJECT DeviceObject, PIRP Irp)
 
       pFcb = FileObject->FsContext;
 
 
       pFcb = FileObject->FsContext;
 
-      if (pFcb->OpenHandleCount != 0)
+      if (pFcb->OpenHandleCount != 0 &&
+          !(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
         {
           Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                                       Stack->Parameters.Create.ShareAccess,
         {
           Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                                       Stack->Parameters.Create.ShareAccess,
@@ -708,7 +709,8 @@ VfatCreateFile (PDEVICE_OBJECT DeviceObject, PIRP Irp)
        }
     }
 
        }
     }
 
-  if (pFcb->OpenHandleCount == 0)
+  if (pFcb->OpenHandleCount == 0 &&
+      !(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
   {
       IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                    Stack->Parameters.Create.ShareAccess,
   {
       IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
                    Stack->Parameters.Create.ShareAccess,