[Scummvm-cvs-logs] SF.net SVN: scummvm: [27769] scummvm/branches/branch-0-10-0/sound/mods/ protracker.cpp

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Fri Jun 29 02:56:29 CEST 2007


Revision: 27769
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27769&view=rev
Author:   Kirben
Date:     2007-06-28 17:56:29 -0700 (Thu, 28 Jun 2007)

Log Message:
-----------
Backport the fix for a bad, bad out-of-bounds write in the Protracker code.

Modified Paths:
--------------
    scummvm/branches/branch-0-10-0/sound/mods/protracker.cpp

Modified: scummvm/branches/branch-0-10-0/sound/mods/protracker.cpp
===================================================================
--- scummvm/branches/branch-0-10-0/sound/mods/protracker.cpp	2007-06-28 22:47:06 UTC (rev 27768)
+++ scummvm/branches/branch-0-10-0/sound/mods/protracker.cpp	2007-06-29 00:56:29 UTC (rev 27769)
@@ -412,14 +412,15 @@
 void ProtrackerStream::interrupt(void) {
 	int track;
 
-	for (track = 0; track < 4; track++)
+	for (track = 0; track < 4; track++) {
 		_track[track].offset = _voice[track].offset;
-
-	if (_tick == 0) {
-		if (_track[track].arpeggio) {
+		if (_tick == 0 && _track[track].arpeggio) {
 			_track[track].period = _module.noteToPeriod(_track[track].arpeggioNotes[0],
 					_track[track].finetune);
 		}
+	}
+
+	if (_tick == 0) {
 		if (_hasJumpToPattern) {
 			_hasJumpToPattern = false;
 			_pos = _jumpToPattern;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list