diff --git a/crypto/test/test_util.cc b/crypto/test/test_util.cc index bebeb2254dc..2ac035ea1a5 100644 --- a/crypto/test/test_util.cc +++ b/crypto/test/test_util.cc @@ -97,22 +97,31 @@ size_t createTempFILEpath(char buffer[PATH_MAX]) { } return GetTempFileNameA(pathname, "awslctest", 0, buffer); } +FILE* createRawTempFILE() { + char filename[PATH_MAX]; + if(createTempFILEpath(filename) == 0) { + return nullptr; + } + return fopen(filename, "w+bx"); +} #else +#include size_t createTempFILEpath(char buffer[PATH_MAX]) { - if(tmpnam(buffer) == nullptr) { +OPENSSL_BEGIN_ALLOW_DEPRECATED + OPENSSL_STATIC_ASSERT(PATH_MAX >= L_tmpnam, PATH_MAX_too_short); + // Functions for constructing a tempfile path (i.e., tmpname and mktemp) + // are deprecated in C99. + if(nullptr == tmpnam(buffer)) { return 0; } +OPENSSL_END_ALLOW_DEPRECATED return strnlen(buffer, PATH_MAX); } -#endif - FILE* createRawTempFILE() { - char filename[PATH_MAX]; - if(createTempFILEpath(filename) == 0) { - return nullptr; - } - return fopen(filename, "w+b"); + return tmpfile(); } +#endif + TempFILE createTempFILE() { return TempFILE(createRawTempFILE());