[clang] Make PCH's respect any VFS specified. (PR #106577)

Ben Langmuir via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 12 09:17:31 PDT 2024


================
@@ -1115,13 +1115,13 @@ void ASTWriter::WriteBlockInfoBlock() {
 }
 
 /// Prepares a path for being written to an AST file by converting it
-/// to an absolute path and removing nested './'s.
+/// to an absolute path and removing nested './'s and '../'s.
 ///
 /// \return \c true if the path was changed.
 static bool cleanPathForOutput(FileManager &FileMgr,
                                SmallVectorImpl<char> &Path) {
   bool Changed = FileMgr.makeAbsolutePath(Path);
-  return Changed | llvm::sys::path::remove_dots(Path);
+  return Changed | llvm::sys::path::remove_dots(Path, true);
----------------
benlangmuir wrote:

Removing `..` is only correct if you know the containing directory cannot be a symlink.  Do we actually know that here?

https://github.com/llvm/llvm-project/pull/106577


More information about the cfe-commits mailing list