diff options
author | Craig Scott <craig.scott@crascit.com> | 2021-02-19 06:11:53 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2021-02-19 06:11:53 (GMT) |
commit | 90c2f138ee27ad7b36c058e9e791b6359793f58b (patch) | |
tree | e5b3c6b87ddb923fc92c1b03b83e6719d31e1d1f /Source | |
parent | 50fc9d5b45a7dcbb11152ea77b2d47c66e277265 (diff) | |
download | CMake-90c2f138ee27ad7b36c058e9e791b6359793f58b.zip CMake-90c2f138ee27ad7b36c058e9e791b6359793f58b.tar.gz CMake-90c2f138ee27ad7b36c058e9e791b6359793f58b.tar.bz2 |
CPackIFWInstaller: Avoid potential null pointer dereference
In d16830324f (CPackIFW: Improve warning and docs for show page list
option, 2021-02-14), code was added to report the current QtIFW version.
That code didn't check that there was a Generator object before using it,
resulting in a scanbuild warning about a potential null pointer dereference.
Add a check and output a more general warning message if we don't have
the current QtIFW version available to report.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CPack/IFW/cmCPackIFWInstaller.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx b/Source/CPack/IFW/cmCPackIFWInstaller.cxx index e0dd06b..bf8b457 100644 --- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx +++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx @@ -186,13 +186,20 @@ void cmCPackIFWInstaller::ConfigureFromOptions() this->WizardShowPageList.clear(); } } else { + std::string currentVersionMsg; + if (this->Generator) { + currentVersionMsg = + "QtIFW version " + this->Generator->FrameworkVersion; + } else { + currentVersionMsg = "an older QtIFW version"; + } cmCPackIFWLogger( WARNING, "Option CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST is set to \"" << option << "\", but it is only supported with QtIFW version 4.0 or later. " - "It is being ignored because you are using QtIFW version " - << this->Generator->FrameworkVersion.data() << std::endl); + "It is being ignored because you are using " + << currentVersionMsg << std::endl); } } |