server: Fix crash on missing cache entries

Test for nullptr before constructing std::string.
This commit is contained in:
Laurent Rineau 2017-07-25 17:40:40 +02:00 committed by Brad King
parent f15cfd891d
commit 70272f3c36

View File

@ -284,7 +284,9 @@ static bool testValue(cmState* state, const std::string& key,
std::string& value, const std::string& keyDescription,
std::string* errorMessage)
{
const std::string cachedValue = std::string(state->GetCacheEntryValue(key));
const char* entry = state->GetCacheEntryValue(key);
const std::string cachedValue =
entry == nullptr ? std::string() : std::string(entry);
if (!cachedValue.empty() && !value.empty() && cachedValue != value) {
setErrorMessage(errorMessage, std::string("\"") + key +
"\" is set but incompatible with configured " +