sys: write: FspFsvolWriteCached: fix simple but major bug when using FILE_APPEND_DATA

This commit is contained in:
Bill Zissimopoulos
2016-09-15 15:28:55 -07:00
parent f1ba60e172
commit 316a2940dc
2 changed files with 162 additions and 2 deletions

View File

@ -151,8 +151,9 @@ static NTSTATUS FspFsvolWriteCached(
ASSERT(FspTimeoutInfinity32 ==
FspFsvolDeviceExtension(FsvolDeviceObject)->VolumeParams.FileInfoTimeout);
FspFileNodeGetFileInfo(FileNode, &FileInfo);
WriteEndOffset = WriteToEndOfFile ?
FileInfo.FileSize + WriteLength : WriteOffset.QuadPart + WriteLength;
if (WriteToEndOfFile)
WriteOffset.QuadPart = FileInfo.FileSize;
WriteEndOffset = WriteOffset.QuadPart + WriteLength;
ExtendingFile = FileInfo.FileSize < WriteEndOffset;
if (ExtendingFile && !CanWait)
{