mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-17 13:38:41 +00:00
[VFS] remove handling of '..' for now.
This can fail badly if we're overlaying a real file system and there are symlinks there. Just keep the path as-is for now. This essentially reverts r249830. llvm-svn: 250021
This commit is contained in:
parent
6558edcaf5
commit
c3741ec8d3
@ -497,7 +497,7 @@ void InMemoryFileSystem::addFile(const Twine &P, time_t ModificationTime,
|
||||
assert(!EC);
|
||||
(void)EC;
|
||||
|
||||
FileManager::removeDotPaths(Path, /*RemoveDotDot=*/true);
|
||||
FileManager::removeDotPaths(Path, /*RemoveDotDot=*/false);
|
||||
if (Path.empty())
|
||||
return;
|
||||
|
||||
@ -556,7 +556,7 @@ lookupInMemoryNode(const InMemoryFileSystem &FS, detail::InMemoryDirectory *Dir,
|
||||
assert(!EC);
|
||||
(void)EC;
|
||||
|
||||
FileManager::removeDotPaths(Path, /*RemoveDotDot=*/true);
|
||||
FileManager::removeDotPaths(Path, /*RemoveDotDot=*/false);
|
||||
if (Path.empty())
|
||||
return Dir;
|
||||
|
||||
|
@ -569,7 +569,6 @@ TEST_F(InMemoryFileSystemTest, OverlayFileNoOwn) {
|
||||
TEST_F(InMemoryFileSystemTest, OpenFileForRead) {
|
||||
FS.addFile("/a", 0, MemoryBuffer::getMemBuffer("a"));
|
||||
FS.addFile("././c", 0, MemoryBuffer::getMemBuffer("c"));
|
||||
FS.addFile("./d/../d", 0, MemoryBuffer::getMemBuffer("d"));
|
||||
auto File = FS.openFileForRead("/a");
|
||||
ASSERT_EQ("a", (*(*File)->getBuffer("ignored"))->getBuffer());
|
||||
File = FS.openFileForRead("/a"); // Open again.
|
||||
@ -582,8 +581,6 @@ TEST_F(InMemoryFileSystemTest, OpenFileForRead) {
|
||||
ASSERT_EQ(File.getError(), errc::no_such_file_or_directory) << FS.toString();
|
||||
File = FS.openFileForRead("./c");
|
||||
ASSERT_EQ("c", (*(*File)->getBuffer("ignored"))->getBuffer());
|
||||
File = FS.openFileForRead("e/../d");
|
||||
ASSERT_EQ("d", (*(*File)->getBuffer("ignored"))->getBuffer());
|
||||
}
|
||||
|
||||
TEST_F(InMemoryFileSystemTest, DirectoryIteration) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user