[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