diff --git a/src/dll/fsop.c b/src/dll/fsop.c index 603e2e75..0a761bda 100644 --- a/src/dll/fsop.c +++ b/src/dll/fsop.c @@ -760,10 +760,9 @@ static NTSTATUS FspFileSystemOpCreate_FileOpenTargetDirectory(FSP_FILE_SYSTEM *F NTSTATUS Result; WCHAR Root[2] = L"\\"; PWSTR Parent, Suffix; - UINT32 GrantedAccess; + UINT32 CreateOptions, GrantedAccess; FSP_FSCTL_TRANSACT_FULL_CONTEXT FullContext; FSP_FSCTL_OPEN_FILE_INFO OpenFileInfo; - UINT32 CreateOptions; UINT32 Information; Result = FspFileSystemOpenTargetDirectoryCheck(FileSystem, Request, Response, &GrantedAccess); @@ -776,9 +775,8 @@ static NTSTATUS FspFileSystemOpCreate_FileOpenTargetDirectory(FSP_FILE_SYSTEM *F OpenFileInfo.NormalizedName = (PVOID)Response->Buffer; OpenFileInfo.NormalizedNameSize = FSP_FSCTL_TRANSACT_RSP_BUFFER_SIZEMAX; FspPathSuffix((PWSTR)Request->Buffer, &Parent, &Suffix, Root); - CreateOptions = Request->Req.Create.CreateOptions; - CreateOptions |= FILE_DIRECTORY_FILE; - CreateOptions &= ~FILE_NON_DIRECTORY_FILE; + CreateOptions = + (Request->Req.Create.CreateOptions | FILE_DIRECTORY_FILE) & ~FILE_NON_DIRECTORY_FILE; Result = FileSystem->Interface->Open(FileSystem, Parent, CreateOptions, GrantedAccess, AddrOfFileContext(FullContext), &OpenFileInfo.FileInfo);