1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 05:26:58 +08:00

cmGeneratedFileStream: Use random temporary file extension by default

Avoid collisions with project-specified files named with `.tmp`.

Issue: #20873
This commit is contained in:
Brad King
2020-07-07 13:39:35 -04:00
parent 09ff1cb650
commit eaa420e99c

View File

@@ -129,7 +129,9 @@ void cmGeneratedFileStreamBase::Open(std::string const& name)
if (!this->TempExt.empty()) {
this->TempName += this->TempExt;
} else {
this->TempName += "tmp";
char buf[64];
sprintf(buf, "tmp%05x", cmSystemTools::RandomSeed() & 0xFFFFF);
this->TempName += buf;
}
// Make sure the temporary file that will be used is not present.