mirror of
https://github.com/winscp/winscp.git
synced 2026-10-24 02:28:55 +03:00
For rmdir, TScript::CreateFileList (fltDirectories) creates a bare TRemoteFile with only its name and type: no directory list and no full file name. TWebDAVFileSystem::DeleteFile takes the path from File->FullFileName, and TRemoteFile::GetFullFileName then dereferences the null Directory. With WinSCP 6.5.7 a script doing mkdir /work/gone rmdir /work/gone over WebDAV fails with "Invalid access to memory" in TRemoteFileList::GetFullDirectory (from TWebDAVFileSystem::FilePath, TTerminal::DoDeleteFile, TScript::RmDirProc). The entry now carries its absolute path, resolved as TTerminal::DoDeleteFile resolves the same name. Protocols that use the file name (SFTP, SCP, FTP) are unaffected; WebDAV now deletes the directory.
92 KiB
92 KiB