* mktemp is insecure as it always creates or uses insecure temporary file.

Switch to mkstemp.

* Get and display the error message when an error occurs while creating the temporary file

llvm-svn: 191616
This commit is contained in:
Sylvestre Ledru 2013-09-28 15:23:41 +00:00
parent 602623f9ae
commit d28b99374f
1 changed files with 3 additions and 2 deletions

View File

@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
#include <errno.h>
#include "GDBRemoteCommunicationServer.h"
#include "lldb/Core/StreamGDBRemote.h"
@ -762,9 +763,9 @@ GDBRemoteCommunicationServer::Handle_qLaunchGDBServer (StringExtractorGDBRemote
Error error;
std::string hostname;
char unix_socket_name[PATH_MAX] = "/tmp/XXXXXX";
if (::mktemp (unix_socket_name) == NULL)
if (::mkstemp (unix_socket_name) == -1)
{
error.SetErrorString ("failed to make temporary path for a unix socket");
error.SetErrorStringWithFormat("failed to make temporary path for a unix socket with errno: %s", strerror(errno));
}
else
{