Don't check the share access for directories.
Modified: trunk/reactos/drivers/fs/vfat/cleanup.c
Modified: trunk/reactos/drivers/fs/vfat/create.c
_____
Modified: trunk/reactos/drivers/fs/vfat/cleanup.c
--- trunk/reactos/drivers/fs/vfat/cleanup.c 2005-09-18 12:05:57 UTC
(rev 17909)
+++ trunk/reactos/drivers/fs/vfat/cleanup.c 2005-09-18 13:10:43 UTC
(rev 17910)
@@ -75,7 +75,10 @@
CcUninitializeCacheMap (FileObject, NULL, NULL);
#endif
pFcb->OpenHandleCount--;
- IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
+ if (!(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
+ {
+ IoRemoveShareAccess(FileObject, &pFcb->FCBShareAccess);
+ }
}
return STATUS_SUCCESS;
}
_____
Modified: trunk/reactos/drivers/fs/vfat/create.c
--- trunk/reactos/drivers/fs/vfat/create.c 2005-09-18 12:05:57 UTC
(rev 17909)
+++ trunk/reactos/drivers/fs/vfat/create.c 2005-09-18 13:10:43 UTC
(rev 17910)
@@ -612,7 +612,8 @@
pFcb = FileObject->FsContext;
- if (pFcb->OpenHandleCount != 0)
+ if (pFcb->OpenHandleCount != 0 &&
+ !(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
{
Status =
IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAcce
ss,
Stack->Parameters.Create.ShareAccess,
@@ -708,7 +709,8 @@
}
}
- if (pFcb->OpenHandleCount == 0)
+ if (pFcb->OpenHandleCount == 0 &&
+ !(*pFcb->Attributes & FILE_ATTRIBUTE_DIRECTORY))
{
IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess
,
Stack->Parameters.Create.ShareAccess,
Show replies by date