summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksiy Vyalov <ovyalov@google.com>2015-07-14 18:54:52 +0000
committerOleksiy Vyalov <ovyalov@google.com>2015-07-14 18:54:52 +0000
commit28b6b62cb701a652bd247855832ed7a93eec4eb3 (patch)
treebf63d490020ae18287872f6c55967a3ab9b73bbf
parentc24189e970874c1de4999c6e9f9fefe698409c78 (diff)
Fix temp port file path generation in lldb-platform.
http://reviews.llvm.org/D11152 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@242182 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/lldb-server/lldb-platform.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/tools/lldb-server/lldb-platform.cpp b/tools/lldb-server/lldb-platform.cpp
index 43a4359d4..4dfa7d23a 100644
--- a/tools/lldb-server/lldb-platform.cpp
+++ b/tools/lldb-server/lldb-platform.cpp
@@ -102,15 +102,14 @@ display_usage (const char *progname, const char *subcommand)
static Error
save_port_to_file(const uint16_t port, const FileSpec &port_file_spec)
{
- const ConstString& port_file_dir = port_file_spec.GetDirectory();
- auto error = FileSystem::MakeDirectory(
- FileSpec(port_file_dir.AsCString(), false), eFilePermissionsDirectoryDefault);
+ FileSpec temp_file_spec(port_file_spec.GetDirectory().AsCString(), false);
+ auto error = FileSystem::MakeDirectory(temp_file_spec, eFilePermissionsDirectoryDefault);
if (error.Fail())
- return Error("Failed to create directory %s: %s", port_file_dir.AsCString(), error.AsCString());
+ return Error("Failed to create directory %s: %s", temp_file_spec.GetCString(), error.AsCString());
llvm::SmallString<PATH_MAX> temp_file_path;
- auto err_code = llvm::sys::fs::createTemporaryFile(
- port_file_spec.GetPath().c_str(), "", temp_file_path);
+ temp_file_spec.AppendPathComponent("port-file.%%%%%%");
+ auto err_code = llvm::sys::fs::createUniqueFile(temp_file_spec.GetCString(), temp_file_path);
if (err_code)
return Error("Failed to create temp file: %s", err_code.message().c_str());