mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
Don't try to create a file, if no parent fcb was found.
svn path=/trunk/; revision=19871
This commit is contained in:
@@ -439,7 +439,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
|
||||
ULONG RequestedDisposition, RequestedOptions;
|
||||
PVFATCCB pCcb;
|
||||
PVFATFCB pFcb = NULL;
|
||||
PVFATFCB ParentFcb;
|
||||
PVFATFCB ParentFcb = NULL;
|
||||
PWCHAR c, last;
|
||||
BOOLEAN PagingFileCreate = FALSE;
|
||||
BOOLEAN Dots;
|
||||
@@ -543,8 +543,8 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
|
||||
* fail immediately
|
||||
*/
|
||||
if (Status == STATUS_OBJECT_PATH_NOT_FOUND ||
|
||||
Status == STATUS_INVALID_PARAMETER ||
|
||||
Status == STATUS_DELETE_PENDING)
|
||||
Status == STATUS_INVALID_PARAMETER ||
|
||||
Status == STATUS_DELETE_PENDING)
|
||||
{
|
||||
if (ParentFcb)
|
||||
{
|
||||
@@ -552,6 +552,11 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
|
||||
}
|
||||
return(Status);
|
||||
}
|
||||
if (!NT_SUCCESS(Status) && ParentFcb == NULL)
|
||||
{
|
||||
DPRINT1("VfatOpenFile faild for '%wZ', status %x\n", &PathNameU, Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the file open failed then create the required file
|
||||
@@ -564,11 +569,6 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
|
||||
RequestedDisposition == FILE_SUPERSEDE)
|
||||
{
|
||||
ULONG Attributes;
|
||||
if (ParentFcb == NULL)
|
||||
{
|
||||
ParentFcb = vfatOpenRootFCB (DeviceExt);
|
||||
ASSERT(ParentFcb != NULL);
|
||||
}
|
||||
Attributes = Stack->Parameters.Create.FileAttributes;
|
||||
|
||||
vfatSplitPathName(&PathNameU, NULL, &FileNameU);
|
||||
|
||||
Reference in New Issue
Block a user