mirror of
https://github.com/reactos/reactos.git
synced 2025-04-26 00:20:34 +00:00
Don't check the share access for directories.
svn path=/trunk/; revision=17910
This commit is contained in:
parent
065786c3b7
commit
0cfadced6f
2 changed files with 8 additions and 3 deletions
|
@ -75,7 +75,10 @@ VfatCleanupFile(PVFAT_IRP_CONTEXT IrpContext)
|
||||||
CcUninitializeCacheMap (FileObject, NULL, NULL);
|
CcUninitializeCacheMap (FileObject, NULL, NULL);
|
||||||
#endif
|
#endif
|
||||||
pFcb->OpenHandleCount--;
|
pFcb->OpenHandleCount--;
|
||||||
IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
|
if (!(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
|
||||||
|
{
|
||||||
|
IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
|
||||||
Stack->Parameters.Create.ShareAccess,
|
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,
|
IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
|
||||||
Stack->Parameters.Create.ShareAccess,
|
Stack->Parameters.Create.ShareAccess,
|
||||||
|
|
Loading…
Reference in a new issue