[Scummvm-cvs-logs] SF.net SVN: scummvm: [27764] scummvm/trunk/sound/mods/protracker.cpp
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Thu Jun 28 22:15:11 CEST 2007
Revision: 27764
http://scummvm.svn.sourceforge.net/scummvm/?rev=27764&view=rev
Author: fingolfin
Date: 2007-06-28 13:15:10 -0700 (Thu, 28 Jun 2007)
Log Message:
-----------
Fix a bad, bad out-of-bounds write in the Protracker code
Modified Paths:
--------------
scummvm/trunk/sound/mods/protracker.cpp
Modified: scummvm/trunk/sound/mods/protracker.cpp
===================================================================
--- scummvm/trunk/sound/mods/protracker.cpp 2007-06-28 20:09:58 UTC (rev 27763)
+++ scummvm/trunk/sound/mods/protracker.cpp 2007-06-28 20:15:10 UTC (rev 27764)
@@ -404,14 +404,15 @@
void ProtrackerStream::interrupt(void) {
int track;
- for (track = 0; track < 4; track++)
+ for (track = 0; track < 4; track++) {
_track[track].offset = getChannelOffset(track);
-
- 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