diff options
-rw-r--r-- | lldb/source/Initialization/SystemInitializerCommon.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Initialization/SystemInitializerCommon.cpp b/lldb/source/Initialization/SystemInitializerCommon.cpp index 5b8bd8926ac..e928bbc1641 100644 --- a/lldb/source/Initialization/SystemInitializerCommon.cpp +++ b/lldb/source/Initialization/SystemInitializerCommon.cpp @@ -80,8 +80,13 @@ llvm::Error SystemInitializerCommon::Initialize() { } if (llvm::Expected<std::string> cwd = loader->LoadBuffer<WorkingDirectoryProvider>()) { - FileSystem::Instance().GetVirtualFileSystem()->setCurrentWorkingDirectory( - *cwd); + cwd->erase(std::remove_if(cwd->begin(), cwd->end(), std::iscntrl), + cwd->end()); + if (std::error_code ec = FileSystem::Instance() + .GetVirtualFileSystem() + ->setCurrentWorkingDirectory(*cwd)) { + return llvm::errorCodeToError(ec); + } } else { return cwd.takeError(); } |