From 33802b316855b69f2a542574caa4dd2fbe569b11 Mon Sep 17 00:00:00 2001 From: Justin Goshi Date: Thu, 18 Jan 2018 17:35:15 -0800 Subject: 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. --- Source/cmServerProtocol.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx index 6b7143b..4c0a354 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); -- cgit v0.12