From eaa420e99c86cb700f37fd21420ab86adeed798f Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 7 Jul 2020 13:39:35 -0400 Subject: cmGeneratedFileStream: Use random temporary file extension by default Avoid collisions with project-specified files named with `.tmp`. Issue: #20873 --- Source/cmGeneratedFileStream.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx index 119067e..345f0ba 100644 --- a/Source/cmGeneratedFileStream.cxx +++ b/Source/cmGeneratedFileStream.cxx @@ -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. -- cgit v0.12