Merge pull request #1032 from lioncash/sanitize
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
This commit is contained in:
commit
e67630b51e
|
@ -74,15 +74,15 @@ VirtualFile VfsFilesystem::CopyFile(std::string_view old_path_, std::string_view
|
||||||
return new_file;
|
return new_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
VirtualFile VfsFilesystem::MoveFile(std::string_view old_path_, std::string_view new_path_) {
|
VirtualFile VfsFilesystem::MoveFile(std::string_view old_path, std::string_view new_path) {
|
||||||
const auto old_path = FileUtil::SanitizePath(old_path_);
|
const auto sanitized_old_path = FileUtil::SanitizePath(old_path);
|
||||||
const auto new_path = FileUtil::SanitizePath(new_path_);
|
const auto sanitized_new_path = FileUtil::SanitizePath(new_path);
|
||||||
|
|
||||||
// Again, non-default impls are highly encouraged to provide a more optimized version of this.
|
// Again, non-default impls are highly encouraged to provide a more optimized version of this.
|
||||||
auto out = CopyFile(old_path_, new_path_);
|
auto out = CopyFile(sanitized_old_path, sanitized_new_path);
|
||||||
if (out == nullptr)
|
if (out == nullptr)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (DeleteFile(old_path))
|
if (DeleteFile(sanitized_old_path))
|
||||||
return out;
|
return out;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -137,15 +137,15 @@ VirtualDir VfsFilesystem::CopyDirectory(std::string_view old_path_, std::string_
|
||||||
return new_dir;
|
return new_dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
VirtualDir VfsFilesystem::MoveDirectory(std::string_view old_path_, std::string_view new_path_) {
|
VirtualDir VfsFilesystem::MoveDirectory(std::string_view old_path, std::string_view new_path) {
|
||||||
const auto old_path = FileUtil::SanitizePath(old_path_);
|
const auto sanitized_old_path = FileUtil::SanitizePath(old_path);
|
||||||
const auto new_path = FileUtil::SanitizePath(new_path_);
|
const auto sanitized_new_path = FileUtil::SanitizePath(new_path);
|
||||||
|
|
||||||
// Non-default impls are highly encouraged to provide a more optimized version of this.
|
// Non-default impls are highly encouraged to provide a more optimized version of this.
|
||||||
auto out = CopyDirectory(old_path_, new_path_);
|
auto out = CopyDirectory(sanitized_old_path, sanitized_new_path);
|
||||||
if (out == nullptr)
|
if (out == nullptr)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (DeleteDirectory(old_path))
|
if (DeleteDirectory(sanitized_old_path))
|
||||||
return out;
|
return out;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue