From 4b0015b8e997e9ca95141216f2b24ee33df01055 Mon Sep 17 00:00:00 2001 From: richiesams Date: Mon, 5 Aug 2013 00:00:21 -0500 Subject: ZVISION: Check if a key exists before returning _globalState value. operator[] creates a key value pair if it doesn't exist. So blindly returning a value without checking if the key exists could result in undefined behavior, depening on what the value is initialized to in its constructor --- engines/zvision/script_manager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'engines') diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/script_manager.cpp index 2e57c18a3e..7fcade22c1 100644 --- a/engines/zvision/script_manager.cpp +++ b/engines/zvision/script_manager.cpp @@ -118,7 +118,10 @@ void ScriptManager::checkPuzzleCriteria() { } uint ScriptManager::getStateValue(uint32 key) { - return _globalState[key]; + if (_globalState.contains(key)) + return _globalState[key]; + else + return 0; } void ScriptManager::setStateValue(uint32 key, uint value) { -- cgit v1.2.3