[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