[Scummvm-cvs-logs] CVS: scummvm/scumm script_v72he.cpp,2.20,2.21
Eugene Sandulenko
sev at users.sourceforge.net
Wed Aug 25 04:35:31 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15499
Modified Files:
script_v72he.cpp
Log Message:
Revert back proper array bounds checks in readArray/writeArray
Fix type in redimArray
Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.20
retrieving revision 2.21
diff -u -d -r2.20 -r2.21
--- script_v72he.cpp 25 Aug 2004 08:54:43 -0000 2.20
+++ script_v72he.cpp 25 Aug 2004 11:34:28 -0000 2.21
@@ -435,8 +435,8 @@
if (ah == NULL || ah->data == NULL)
error("readArray: invalid array %d (%d)", array, readVar(array));
- if (idx2 < 0 || idx2 > (int)FROM_LE_32(ah->dim2end) ||
- idx1 < 0 || idx1 > (int)FROM_LE_32(ah->dim1end)) {
+ if (idx2 < (int)FROM_LE_32(ah->dim2start) || idx2 > (int)FROM_LE_32(ah->dim2end) ||
+ idx1 < (int)FROM_LE_32(ah->dim2start) || idx1 > (int)FROM_LE_32(ah->dim1end)) {
error("readArray: array %d out of bounds: [%d, %d] exceeds [%d..%d, %d..%d]",
array, idx1, idx2, FROM_LE_32(ah->dim1start), FROM_LE_32(ah->dim1end),
FROM_LE_32(ah->dim2start), FROM_LE_32(ah->dim2end));
@@ -471,8 +471,8 @@
if (!ah)
error("writeArray: Invalid array (%d) reference", readVar(array));
- if (idx2 < 0 || idx2 > (int)FROM_LE_32(ah->dim2end) ||
- idx1 < 0 || idx1 > (int)FROM_LE_32(ah->dim1end)) {
+ if (idx2 < (int)FROM_LE_32(ah->dim2start) || idx2 > (int)FROM_LE_32(ah->dim2end) ||
+ idx1 < (int)FROM_LE_32(ah->dim1start) || idx1 > (int)FROM_LE_32(ah->dim1end)) {
error("writeArray: array %d out of bounds: [%d, %d] exceeds [%d..%d, %d..%d]",
array, idx1, idx2, FROM_LE_32(ah->dim1start), FROM_LE_32(ah->dim1end),
FROM_LE_32(ah->dim2start), FROM_LE_32(ah->dim2end));
@@ -973,7 +973,7 @@
newSize = arrayDataSizes[type];
oldSize = arrayDataSizes[FROM_LE_32(ah->type)];
- newSize *= (newDim1end - newDim1start + 1) * (newDim2end - newDim2end + 1);
+ newSize *= (newDim1end - newDim1start + 1) * (newDim2end - newDim2start + 1);
oldSize *= (FROM_LE_32(ah->dim1end) - FROM_LE_32(ah->dim1start) + 1) *
(FROM_LE_32(ah->dim2end) - FROM_LE_32(ah->dim2start) + 1);
More information about the Scummvm-git-logs
mailing list