diff options
author | Martin Kiewitz | 2010-01-20 20:09:24 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-01-20 20:09:24 +0000 |
commit | 99896e8a45ee12962e6e60d7cbbf97280e4d9c23 (patch) | |
tree | cecb3b56707a5ee2c02d43e735fba80f1b54d258 | |
parent | 49d3ba06bf8c249b440e4b3333a5dcebd8567fb7 (diff) | |
download | scummvm-rg350-99896e8a45ee12962e6e60d7cbbf97280e4d9c23.tar.gz scummvm-rg350-99896e8a45ee12962e6e60d7cbbf97280e4d9c23.tar.bz2 scummvm-rg350-99896e8a45ee12962e6e60d7cbbf97280e4d9c23.zip |
SCI: boundary check on getPortById()
svn-id: r47410
-rw-r--r-- | engines/sci/graphics/windowmgr.cpp | 6 | ||||
-rw-r--r-- | engines/sci/graphics/windowmgr.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/graphics/windowmgr.cpp b/engines/sci/graphics/windowmgr.cpp index 8b30b54a2d..706f4ee5a1 100644 --- a/engines/sci/graphics/windowmgr.cpp +++ b/engines/sci/graphics/windowmgr.cpp @@ -283,4 +283,10 @@ void WindowMgr::UpdateWindow(Window *wnd) { } } +Port *WindowMgr::getPortById(uint16 id) { + if (id > _windowsById.size()) + error("getPortById() received invalid id"); + return _windowsById[id]; +} + } // End of namespace Sci diff --git a/engines/sci/graphics/windowmgr.h b/engines/sci/graphics/windowmgr.h index 30d854c518..dca6642000 100644 --- a/engines/sci/graphics/windowmgr.h +++ b/engines/sci/graphics/windowmgr.h @@ -46,7 +46,7 @@ public: void DisposeWindow(Window *pWnd, bool reanimate); void UpdateWindow(Window *wnd); - Port *getPortById(uint16 id) const { return _windowsById[id]; } + Port *getPortById(uint16 id); Port *_wmgrPort; Window *_picWind; |