summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/support/platform_support.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/libcxx/test/support/platform_support.h b/libcxx/test/support/platform_support.h
index 63311a52144..f5981d1d087 100644
--- a/libcxx/test/support/platform_support.h
+++ b/libcxx/test/support/platform_support.h
@@ -53,7 +53,7 @@
#include <stdlib.h>
#include <string>
#if defined(_WIN32) || defined(__MINGW32__)
-#include <io.h> // _mktemp
+#include <io.h> // _mktemp_s
#else
#include <unistd.h> // close
#endif
@@ -71,11 +71,13 @@ std::string
get_temp_file_name()
{
#if defined(_WIN32) || defined(__MINGW32__)
- char Path[MAX_PATH+1];
- char FN[MAX_PATH+1];
- do { } while (0 == GetTempPath(MAX_PATH+1, Path));
- do { } while (0 == GetTempFileName(Path, "libcxx", 0, FN));
- return FN;
+ char Name[] = "libcxx.XXXXXX";
+
+ if (_mktemp_s(Name, sizeof(Name)) != 0) {
+ abort();
+ }
+
+ return Name;
#else
std::string Name;
int FD = -1;
OpenPOWER on IntegriCloud