From ea916230efeb59938b04f9286a56ea9db1a3af6c Mon Sep 17 00:00:00 2001 From: Domen Vrankar Date: Fri, 2 Jan 2015 10:46:08 +0100 Subject: [PATCH] CPack: Avoid crash on invalid CMake generator name (#15308) Case where CPACK_CMAKE_GENERATOR value is non existent or or contains multiple words that were not quoted was not handled and produced a segmentation fault. --- Source/CPack/cmCPackGenerator.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 1461bb18e..84e64821e 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -628,6 +628,14 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmGlobalGenerator* globalGenerator = this->MakefileMap->GetCMakeInstance()->CreateGlobalGenerator( cmakeGenerator); + if ( !globalGenerator ) + { + cmCPackLogger(cmCPackLog::LOG_ERROR, + "Specified package generator not found. " + "CPACK_CMAKE_GENERATOR value is invalid." + << std::endl); + return 0; + } // set the global flag for unix style paths on cmSystemTools as // soon as the generator is set. This allows gmake to be used // on windows.