Do not crash on unknown source language (#13323)
If a source file extension is not recognized as any language then src.GetLanguage() may return NULL. Check the result before dereferencing in cmLocalGenerator::GetObjectFileNameWithoutTarget.
This commit is contained in:
parent
d17c58c853
commit
2c2fbaf0e5
|
@ -2764,10 +2764,13 @@ cmLocalGenerator
|
|||
bool replaceExt = this->NeedBackwardsCompatibility(2, 4);
|
||||
if(!replaceExt)
|
||||
{
|
||||
std::string repVar = "CMAKE_";
|
||||
repVar += source.GetLanguage();
|
||||
repVar += "_OUTPUT_EXTENSION_REPLACE";
|
||||
replaceExt = this->Makefile->IsOn(repVar.c_str());
|
||||
if(const char* lang = source.GetLanguage())
|
||||
{
|
||||
std::string repVar = "CMAKE_";
|
||||
repVar += lang;
|
||||
repVar += "_OUTPUT_EXTENSION_REPLACE";
|
||||
replaceExt = this->Makefile->IsOn(repVar.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
// Remove the source extension if it is to be replaced.
|
||||
|
|
Loading…
Reference in New Issue