From 31eedbddb345a0ca7713c07c8de8d61e9de945db Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Mon, 17 Oct 2016 11:05:49 -0700 Subject: [PATCH] sys: create: OpenTargetDirectory handling moved before the Prepare phase --- src/sys/create.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/sys/create.c b/src/sys/create.c index 159887df..913ccc1d 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -488,6 +488,14 @@ static NTSTATUS FspFsvolCreateNoLock( RtlCopyMemory(Request->Buffer + Request->Req.Create.SecurityDescriptor.Offset, SecurityDescriptor, SecurityDescriptorSize); + /* fix FileNode->FileName if we were doing SL_OPEN_TARGET_DIRECTORY */ + if (Request->Req.Create.OpenTargetDirectory) + { + UNICODE_STRING Suffix; + + FspFileNameSuffix(&FileNode->FileName, &FileNode->FileName, &Suffix); + } + return FSP_STATUS_IOQ_POST; } @@ -751,14 +759,6 @@ NTSTATUS FspFsvolCreateComplete( } } - /* fix FileNode->FileName if we were doing SL_OPEN_TARGET_DIRECTORY */ - if (Request->Req.Create.OpenTargetDirectory) - { - UNICODE_STRING Suffix; - - FspFileNameSuffix(&FileNode->FileName, &FileNode->FileName, &Suffix); - } - /* populate the FileNode/FileDesc fields from the Response */ FileNode->UserContext = Response->Rsp.Create.Opened.UserContext; FileNode->IndexNumber = Response->Rsp.Create.Opened.FileInfo.IndexNumber;