diff --git a/tools/run-tests.bat b/tools/run-tests.bat index b018f9db..41c3f7d1 100755 --- a/tools/run-tests.bat +++ b/tools/run-tests.bat @@ -329,7 +329,7 @@ exit /b 0 :ifstest-memfs-x64-disk M: -call "%ProjRoot%\tools\ifstest.bat" M:\ /b +call "%ProjRoot%\tools\ifstest.bat" M:\ /b /z if !ERRORLEVEL! neq 0 goto fail exit /b 0 diff --git a/tst/memfs/memfs.cpp b/tst/memfs/memfs.cpp index e700a658..c5e5fdd0 100644 --- a/tst/memfs/memfs.cpp +++ b/tst/memfs/memfs.cpp @@ -223,9 +223,6 @@ NTSTATUS MemfsFileNodeCreate(PWSTR FileName, MEMFS_FILE_NODE **PFileNode) *PFileNode = 0; - if (MAX_PATH <= wcslen(FileName)) - return STATUS_OBJECT_NAME_INVALID; - FileNode = (MEMFS_FILE_NODE *)malloc(sizeof *FileNode); if (0 == FileNode) return STATUS_INSUFFICIENT_RESOURCES; @@ -734,6 +731,9 @@ static NTSTATUS Create(FSP_FILE_SYSTEM *FileSystem, NTSTATUS Result; BOOLEAN Inserted; + if (MAX_PATH <= wcslen(FileName)) + return STATUS_OBJECT_NAME_INVALID; + if (CreateOptions & FILE_DIRECTORY_FILE) AllocationSize = 0; @@ -866,6 +866,9 @@ static NTSTATUS Open(FSP_FILE_SYSTEM *FileSystem, MEMFS_DIR_DESC *DirDesc = 0; NTSTATUS Result; + if (MAX_PATH <= wcslen(FileName)) + return STATUS_OBJECT_NAME_INVALID; + FileNode = MemfsFileNodeMapGet(Memfs->FileNodeMap, FileName); if (0 == FileNode) {