From 3e62853de5b9e7473a2a0a590ef3dafe5f5585ca Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 9 Aug 2009 11:10:10 +0200 Subject: [PATCH] FlpImport: fixed crash on invalid notes Added a range check for channel parameter when adding notes. This fixes a crash when for example importing the project posted on lmms-devel by Andew Kelley lately. (cherry picked from commit ee9d88e2d4ed14553dad5de04f57d69d87cfaf88) --- plugins/flp_import/flp_import.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/flp_import/flp_import.cpp b/plugins/flp_import/flp_import.cpp index a0c4796ec..0563b656c 100644 --- a/plugins/flp_import/flp_import.cpp +++ b/plugins/flp_import/flp_import.cpp @@ -1310,7 +1310,14 @@ if( p.currentEffectChannel <= NumFxChannels ) len /= (4*ppq) / DefaultTicksPerTact; note n( len, pos, key, vol * 100 / 128, pan*200 / 128 - 100 ); + if( ch < p.numChannels ) + { p.channels[ch].notes.push_back( qMakePair( p.currentPattern, n ) ); + } + else + { + qDebug( "invalid " ); + } qDebug( "note: " ); dump_mem( text+i*bpn, bpn ); }