aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/font.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2016-02-09 12:47:45 +0100
committerMartin Kiewitz2016-02-09 12:47:45 +0100
commitf5a83adc01719b8409af12bd864e852bbb1de765 (patch)
tree66301487e22eaef0f501a621c7d402d515c765aa /engines/agi/font.cpp
parent01d3d026790f47609af2f9a6bacdfeb385e86abc (diff)
downloadscummvm-rg350-f5a83adc01719b8409af12bd864e852bbb1de765.tar.gz
scummvm-rg350-f5a83adc01719b8409af12bd864e852bbb1de765.tar.bz2
scummvm-rg350-f5a83adc01719b8409af12bd864e852bbb1de765.zip
AGI: Fix various CIDs
CID 1350104: regression from graphics rewrite in C64 picture drawing CID 1350101: potential buffer overflow in set.simple command CID 1350112: uninitialized variable in TextMgr CID 1350113: false positive uninitialized variable in SystemUI CID 1350114: potentially uninitialized variable in IIgsSample CID 1350117: false positive uninitialized variable in InventoryMgr CID 1350103: code bug in CGA rendering TextMgr::charAttrib_Set() CID 1350109: false positive in GfxFont::loadFontAmigaPseudoTopaz() CID 1350111: original AGI uninitialized memory issue in SpritesMgr::showObject
Diffstat (limited to 'engines/agi/font.cpp')
-rw-r--r--engines/agi/font.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/agi/font.cpp b/engines/agi/font.cpp
index 670c1bf575..5c5ea51be8 100644
--- a/engines/agi/font.cpp
+++ b/engines/agi/font.cpp
@@ -829,6 +829,10 @@ void GfxFont::loadFontAmigaPseudoTopaz() {
assert((topazBitOffset & 7) == 0);
topazByteOffset = topazBitOffset >> 3;
+
+ // Security check, although we are working on static const data from within ScummVM
+ assert((topazByteOffset + ((topazHeight - 1) * topazModulo)) < sizeof(fontData_AmigaPseudoTopaz));
+
for (uint16 curHeight = 0; curHeight < topazHeight; curHeight++) {
*fontData = topazData[topazByteOffset];
fontData++;