aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/dialogs.cpp
diff options
context:
space:
mode:
authorStrangerke2013-10-25 08:10:38 +0200
committerStrangerke2013-10-25 08:10:38 +0200
commit7dc1ea9ada597146b96ee1bf4c26a105767d30e1 (patch)
treebbe1e6f776026a671b4687ba16cd354cda1109e1 /engines/avalanche/dialogs.cpp
parent8677f9aa3c689364fd1ca546520e07e65d742d71 (diff)
downloadscummvm-rg350-7dc1ea9ada597146b96ee1bf4c26a105767d30e1.tar.gz
scummvm-rg350-7dc1ea9ada597146b96ee1bf4c26a105767d30e1.tar.bz2
scummvm-rg350-7dc1ea9ada597146b96ee1bf4c26a105767d30e1.zip
AVALANCHE: Fix out of bounds reads (CID 1109653-1109655)
Diffstat (limited to 'engines/avalanche/dialogs.cpp')
-rw-r--r--engines/avalanche/dialogs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp
index 8770e08d60..66d5be29b9 100644
--- a/engines/avalanche/dialogs.cpp
+++ b/engines/avalanche/dialogs.cpp
@@ -689,6 +689,7 @@ void Dialogs::displayText(Common::String text) {
if (_param == 0)
setBubbleStateNatural();
else if ((1 <= _param) && (_param <= 9)) {
+ assert(_param - 1 < _vm->_animation->kSpriteNumbMax);
AnimationType *spr = _vm->_animation->_sprites[_param - 1];
if ((_param > _vm->_animation->kSpriteNumbMax) || (!spr->_quick)) { // Not valid.
_vm->errorLed();
@@ -699,6 +700,7 @@ void Dialogs::displayText(Common::String text) {
// Quasi-peds. (This routine performs the same
// thing with QPs as triptype.chatter does with the
// sprites.)
+ assert(_param - 10 < 16);
PedType *quasiPed = &_vm->_peds[kQuasipeds[_param - 10]._whichPed];
_talkX = quasiPed->_x;
_talkY = quasiPed->_y; // Position.