Don't check the share access for directories.

svn path=/trunk/; revision=17910
This commit is contained in:
Hartmut Birr 2005-09-18 13:10:43 +00:00
parent 065786c3b7
commit 0cfadced6f
2 changed files with 8 additions and 3 deletions

View file

@ -75,8 +75,11 @@ VfatCleanupFile(PVFAT_IRP_CONTEXT IrpContext)
CcUninitializeCacheMap (FileObject, NULL, NULL);
#endif
pFcb->OpenHandleCount--;
if (!(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
{
IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
}
}
return STATUS_SUCCESS;
}

View file

@ -612,7 +612,8 @@ VfatCreateFile (PDEVICE_OBJECT DeviceObject, PIRP Irp)
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,
@ -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,