diff --git a/hxd/fs/LocalFileSystem.hx b/hxd/fs/LocalFileSystem.hx index 8c86fc482..0cd46b8be 100644 --- a/hxd/fs/LocalFileSystem.hx +++ b/hxd/fs/LocalFileSystem.hx @@ -375,7 +375,8 @@ class LocalFileSystem implements FileSystem { return true; } function checkPath(path: String) { - if (StringTools.contains(path, "../")) + // fullPath() resolves symlinks; a target outside baseDir can only get the leaf check + if (StringTools.contains(path, "../") || !StringTools.startsWith(path, baseDir)) return checkPathLeaf(path); var relPath = path.substr(baseDir.length); var split = relPath.split("/");