summaryrefslogtreecommitdiff
path: root/Source/cmServerProtocol.cxx
diff options
context:
space:
mode:
authorJustin Goshi <jgoshi@microsoft.com>2018-01-18 17:35:15 -0800
committerJustin Goshi <jgoshi@microsoft.com>2018-01-18 20:54:02 -0800
commit33802b316855b69f2a542574caa4dd2fbe569b11 (patch)
tree61764050ee164612357ea2e496ce85c7988846bb /Source/cmServerProtocol.cxx
parentcbe7314bb0f0ce5dbc7a5a9d71f3688c810cf731 (diff)
downloadcmake-33802b316855b69f2a542574caa4dd2fbe569b11.tar.gz
server: fix crash if no min version specified
If a CMakeLists.txt file doesn't contain cmake_minimum_required then the server was crashing. The root cause was the json object model does not support null and was crashing. Add the null check and use an empty string in this case.
Diffstat (limited to 'Source/cmServerProtocol.cxx')
-rw-r--r--Source/cmServerProtocol.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index 6b7143b583..4c0a354be6 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -1034,8 +1034,8 @@ static Json::Value DumpProjectList(const cmake* cm, std::string const& config)
// Project structure information:
const cmMakefile* mf = lg->GetMakefile();
- pObj[kMINIMUM_CMAKE_VERSION] =
- mf->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION");
+ auto minVersion = mf->GetDefinition("CMAKE_MINIMUM_REQUIRED_VERSION");
+ pObj[kMINIMUM_CMAKE_VERSION] = minVersion ? minVersion : "";
pObj[kSOURCE_DIRECTORY_KEY] = mf->GetCurrentSourceDirectory();
pObj[kBUILD_DIRECTORY_KEY] = mf->GetCurrentBinaryDirectory();
pObj[kTARGETS_KEY] = DumpTargetsList(projectIt.second, config);