mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-19 02:17:27 +08:00
cmMakefileTargetGenerator: Check for null before using a pointer
Fix the order of logic added by commit 7740ccd1a4
(ENH: some cleanup of
the makefile generator, 2006-02-14, v2.4.0~517) to check for allocation
failure ('new' returns null) before using the pointer.
Issue: #19610
This commit is contained in:
@@ -131,10 +131,10 @@ void cmMakefileTargetGenerator::CreateRuleFile()
|
|||||||
this->BuildFileStream =
|
this->BuildFileStream =
|
||||||
new cmGeneratedFileStream(this->BuildFileNameFull, false,
|
new cmGeneratedFileStream(this->BuildFileNameFull, false,
|
||||||
this->GlobalGenerator->GetMakefileEncoding());
|
this->GlobalGenerator->GetMakefileEncoding());
|
||||||
this->BuildFileStream->SetCopyIfDifferent(true);
|
|
||||||
if (!this->BuildFileStream) {
|
if (!this->BuildFileStream) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this->BuildFileStream->SetCopyIfDifferent(true);
|
||||||
this->LocalGenerator->WriteDisclaimer(*this->BuildFileStream);
|
this->LocalGenerator->WriteDisclaimer(*this->BuildFileStream);
|
||||||
if (this->GlobalGenerator->AllowDeleteOnError()) {
|
if (this->GlobalGenerator->AllowDeleteOnError()) {
|
||||||
std::vector<std::string> no_depends;
|
std::vector<std::string> no_depends;
|
||||||
@@ -300,10 +300,10 @@ void cmMakefileTargetGenerator::WriteCommonCodeRules()
|
|||||||
this->FlagFileStream =
|
this->FlagFileStream =
|
||||||
new cmGeneratedFileStream(this->FlagFileNameFull, false,
|
new cmGeneratedFileStream(this->FlagFileNameFull, false,
|
||||||
this->GlobalGenerator->GetMakefileEncoding());
|
this->GlobalGenerator->GetMakefileEncoding());
|
||||||
this->FlagFileStream->SetCopyIfDifferent(true);
|
|
||||||
if (!this->FlagFileStream) {
|
if (!this->FlagFileStream) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this->FlagFileStream->SetCopyIfDifferent(true);
|
||||||
this->LocalGenerator->WriteDisclaimer(*this->FlagFileStream);
|
this->LocalGenerator->WriteDisclaimer(*this->FlagFileStream);
|
||||||
|
|
||||||
// Include the flags for the target.
|
// Include the flags for the target.
|
||||||
@@ -1033,10 +1033,10 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
|
|||||||
this->InfoFileNameFull =
|
this->InfoFileNameFull =
|
||||||
this->LocalGenerator->ConvertToFullPath(this->InfoFileNameFull);
|
this->LocalGenerator->ConvertToFullPath(this->InfoFileNameFull);
|
||||||
this->InfoFileStream = new cmGeneratedFileStream(this->InfoFileNameFull);
|
this->InfoFileStream = new cmGeneratedFileStream(this->InfoFileNameFull);
|
||||||
this->InfoFileStream->SetCopyIfDifferent(true);
|
if (!this->InfoFileStream) {
|
||||||
if (!*this->InfoFileStream) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this->InfoFileStream->SetCopyIfDifferent(true);
|
||||||
this->LocalGenerator->WriteDependLanguageInfo(*this->InfoFileStream,
|
this->LocalGenerator->WriteDependLanguageInfo(*this->InfoFileStream,
|
||||||
this->GeneratorTarget);
|
this->GeneratorTarget);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user