ENH: make sure null const char* is not put into ossttringstream to avoid seg faults
This commit is contained in:
parent
4400842135
commit
7aef92391b
@ -99,10 +99,10 @@ int cmCPackGenericGenerator::PrepareNames()
|
|||||||
"Look for: CPACK_PACKAGE_DESCRIPTION_FILE" << std::endl);
|
"Look for: CPACK_PACKAGE_DESCRIPTION_FILE" << std::endl);
|
||||||
const char* descFileName
|
const char* descFileName
|
||||||
= this->GetOption("CPACK_PACKAGE_DESCRIPTION_FILE");
|
= this->GetOption("CPACK_PACKAGE_DESCRIPTION_FILE");
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
|
||||||
"Look for: " << descFileName << std::endl);
|
|
||||||
if ( descFileName )
|
if ( descFileName )
|
||||||
{
|
{
|
||||||
|
cmCPackLogger(cmCPackLog::LOG_DEBUG,
|
||||||
|
"Look for: " << descFileName << std::endl);
|
||||||
if ( !cmSystemTools::FileExists(descFileName) )
|
if ( !cmSystemTools::FileExists(descFileName) )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||||
@ -158,8 +158,9 @@ int cmCPackGenericGenerator::InstallProject()
|
|||||||
if ( !cmsys::SystemTools::MakeDirectory(tempInstallDirectory))
|
if ( !cmsys::SystemTools::MakeDirectory(tempInstallDirectory))
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||||
"Problem creating temporary directory: " << tempInstallDirectory
|
"Problem creating temporary directory: "
|
||||||
<< std::endl);
|
<< (tempInstallDirectory ? tempInstallDirectory : "(NULL}")
|
||||||
|
<< std::endl);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,10 +410,10 @@ int cmCPackGenericGenerator::InstallProjectViaInstallScript(
|
|||||||
= this->GetOption("CPACK_INSTALL_SCRIPT");
|
= this->GetOption("CPACK_INSTALL_SCRIPT");
|
||||||
std::string currentWorkingDirectory =
|
std::string currentWorkingDirectory =
|
||||||
cmSystemTools::GetCurrentWorkingDirectory();
|
cmSystemTools::GetCurrentWorkingDirectory();
|
||||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
|
||||||
"- Install scripts: " << cmakeScripts << std::endl);
|
|
||||||
if ( cmakeScripts && *cmakeScripts )
|
if ( cmakeScripts && *cmakeScripts )
|
||||||
{
|
{
|
||||||
|
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
|
||||||
|
"- Install scripts: " << cmakeScripts << std::endl);
|
||||||
std::vector<std::string> cmakeScriptsVector;
|
std::vector<std::string> cmakeScriptsVector;
|
||||||
cmSystemTools::ExpandListArgument(cmakeScripts,
|
cmSystemTools::ExpandListArgument(cmakeScripts,
|
||||||
cmakeScriptsVector);
|
cmakeScriptsVector);
|
||||||
@ -667,7 +668,7 @@ int cmCPackGenericGenerator::ProcessGenerator()
|
|||||||
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Compress package" << std::endl);
|
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Compress package" << std::endl);
|
||||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Compress files to: "
|
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Compress files to: "
|
||||||
<< tempPackageFileName << std::endl);
|
<< (tempPackageFileName ? tempPackageFileName : "(NULL)") << std::endl);
|
||||||
if ( cmSystemTools::FileExists(tempPackageFileName) )
|
if ( cmSystemTools::FileExists(tempPackageFileName) )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Remove old package file"
|
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Remove old package file"
|
||||||
@ -689,17 +690,24 @@ int cmCPackGenericGenerator::ProcessGenerator()
|
|||||||
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Finalize package" << std::endl);
|
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Finalize package" << std::endl);
|
||||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Copy final package: "
|
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Copy final package: "
|
||||||
<< tempPackageFileName << " to " << packageFileName << std::endl);
|
<< (tempPackageFileName ? tempPackageFileName : "(NULL)" )
|
||||||
|
<< " to "
|
||||||
|
<< (packageFileName ? packageFileName : "(NULL)")
|
||||||
|
<< std::endl);
|
||||||
if ( !cmSystemTools::CopyFileIfDifferent(tempPackageFileName,
|
if ( !cmSystemTools::CopyFileIfDifferent(tempPackageFileName,
|
||||||
packageFileName) )
|
packageFileName) )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem copying the package: "
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem copying the package: "
|
||||||
<< tempPackageFileName << " to " << packageFileName << std::endl);
|
<< (tempPackageFileName ? tempPackageFileName : "(NULL)" )
|
||||||
|
<< " to "
|
||||||
|
<< (packageFileName ? packageFileName : "(NULL)")
|
||||||
|
<< std::endl);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Package " << packageFileName
|
cmCPackLogger(cmCPackLog::LOG_OUTPUT, "Package "
|
||||||
<< " generated." << std::endl);
|
<< (packageFileName ? packageFileName : "(NULL)")
|
||||||
|
<< " generated." << std::endl);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -939,7 +947,7 @@ const char* cmCPackGenericGenerator::GetInstallPath()
|
|||||||
std::string cmCPackGenericGenerator::FindTemplate(const char* name)
|
std::string cmCPackGenericGenerator::FindTemplate(const char* name)
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Look for template: "
|
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Look for template: "
|
||||||
<< name << std::endl);
|
<< (name ? name : "(NULL)") << std::endl);
|
||||||
std::string ffile = this->MakefileMap->GetModulesFile(name);
|
std::string ffile = this->MakefileMap->GetModulesFile(name);
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Found template: "
|
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Found template: "
|
||||||
<< ffile.c_str() << std::endl);
|
<< ffile.c_str() << std::endl);
|
||||||
|
@ -236,14 +236,17 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(const char* name)
|
|||||||
if ( !inFileName )
|
if ( !inFileName )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "CPack option: " << cpackVar.c_str()
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "CPack option: " << cpackVar.c_str()
|
||||||
<< " not specified. It should point to " << name << ".rtf, " << name
|
<< " not specified. It should point to "
|
||||||
<< ".html, or " << name << ".txt file" << std::endl);
|
<< (name ? name : "(NULL)")
|
||||||
|
<< ".rtf, " << name
|
||||||
|
<< ".html, or " << name << ".txt file" << std::endl);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ( !cmSystemTools::FileExists(inFileName) )
|
if ( !cmSystemTools::FileExists(inFileName) )
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find " << name
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find "
|
||||||
<< " resource file: " << inFileName << std::endl);
|
<< (name ? name : "(NULL)")
|
||||||
|
<< " resource file: " << inFileName << std::endl);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
std::string ext = cmSystemTools::GetFilenameLastExtension(inFileName);
|
std::string ext = cmSystemTools::GetFilenameLastExtension(inFileName);
|
||||||
@ -260,8 +263,9 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(const char* name)
|
|||||||
destFileName += name + ext;
|
destFileName += name + ext;
|
||||||
|
|
||||||
|
|
||||||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: " << inFileName
|
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: "
|
||||||
<< " to " << destFileName.c_str() << std::endl);
|
<< (inFileName ? inFileName : "(NULL)")
|
||||||
|
<< " to " << destFileName.c_str() << std::endl);
|
||||||
this->ConfigureFile(inFileName, destFileName.c_str());
|
this->ConfigureFile(inFileName, destFileName.c_str());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -208,7 +208,8 @@ int cmCPackTGZGenerator::InitializeInternal()
|
|||||||
int cmCPackTGZGenerator::CompressFiles(const char* outFileName,
|
int cmCPackTGZGenerator::CompressFiles(const char* outFileName,
|
||||||
const char* toplevel, const std::vector<std::string>& files)
|
const char* toplevel, const std::vector<std::string>& files)
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: " << toplevel << std::endl);
|
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: "
|
||||||
|
<< (toplevel ? toplevel : "(NULL)") << std::endl);
|
||||||
cmCPackTGZ_Data mydata(this, this->Compress);
|
cmCPackTGZ_Data mydata(this, this->Compress);
|
||||||
TAR *t;
|
TAR *t;
|
||||||
char buf[TAR_MAXPATHLEN];
|
char buf[TAR_MAXPATHLEN];
|
||||||
|
@ -108,7 +108,7 @@ int cmCPackTarBZip2Generator::CompressFiles(const char* outFileName,
|
|||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem renaming: \""
|
cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem renaming: \""
|
||||||
<< compressOutFile.c_str() << "\" to \""
|
<< compressOutFile.c_str() << "\" to \""
|
||||||
<< outFileName << std::endl);
|
<< (outFileName ? outFileName : "(NULL)") << std::endl);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,8 @@ int cmCPackTarCompressGenerator::InitializeInternal()
|
|||||||
int cmCPackTarCompressGenerator::CompressFiles(const char* outFileName,
|
int cmCPackTarCompressGenerator::CompressFiles(const char* outFileName,
|
||||||
const char* toplevel, const std::vector<std::string>& files)
|
const char* toplevel, const std::vector<std::string>& files)
|
||||||
{
|
{
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: " << toplevel << std::endl);
|
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: "
|
||||||
|
<< (toplevel ? toplevel : "(NULL)") << std::endl);
|
||||||
cmCPackTarCompress_Data mydata(this);
|
cmCPackTarCompress_Data mydata(this);
|
||||||
TAR *t;
|
TAR *t;
|
||||||
char buf[TAR_MAXPATHLEN];
|
char buf[TAR_MAXPATHLEN];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user