[Scummvm-cvs-logs] CVS: scummvm/scumm sound.cpp,1.371,1.372

Travis Howell kirben at users.sourceforge.net
Fri Aug 27 21:35:06 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31739/scumm

Modified Files:
	sound.cpp 
Log Message:

Safety check


Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sound.cpp,v
retrieving revision 1.371
retrieving revision 1.372
diff -u -d -r1.371 -r1.372
--- sound.cpp	27 Aug 2004 00:08:43 -0000	1.371
+++ sound.cpp	28 Aug 2004 04:34:34 -0000	1.372
@@ -210,7 +210,7 @@
 		size = musicFile.readUint32LE();
 
 		if (music_offs > total_size || (size + music_offs) > total_size) {
-			warning("Bad music offsets");
+			warning("playSound: Bad music offsets");
 			musicFile.close();
 			return;
 		}
@@ -269,7 +269,13 @@
 		if (READ_UINT32(ptr) != MKID('SDAT'))
 			return;	// abort
 
-		size = READ_BE_UINT32(ptr+4) - offset - 8;
+		size = READ_BE_UINT32(ptr+4) - 8;
+		if (offset > size) {
+			warning("playSound: Bad sound offset");
+			offset = 0;
+		} 
+		size -= offset;
+
 		if (_overrideFreq) {
 			// Used by the piano in Fatty Bear's Birthday Surprise
 			rate = _overrideFreq;





More information about the Scummvm-git-logs mailing list