From: <sv...@op...> - 2024-12-01 11:25:26
|
Author: sagamusix Date: Sun Dec 1 12:25:15 2024 New Revision: 22376 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22376 Log: [Fix] Fix infinite loop in MIDI message parser in case of !outputRunningStatus. Modified: trunk/OpenMPT/soundlib/MIDIMacroParser.cpp Modified: trunk/OpenMPT/soundlib/MIDIMacroParser.cpp ============================================================================== --- trunk/OpenMPT/soundlib/MIDIMacroParser.cpp Sun Dec 1 02:39:40 2024 (r22375) +++ trunk/OpenMPT/soundlib/MIDIMacroParser.cpp Sun Dec 1 12:25:15 2024 (r22376) @@ -60,6 +60,7 @@ m_runningstatusOldData = m_data[m_sendPos]; m_data[m_sendPos] = m_runningStatus; m_runningStatusPos = m_sendPos; + continue; } else { sendLen = std::min(static_cast<uint32>(MIDIEvents::GetEventLength(m_runningStatus) - 1), outSize - m_sendPos); @@ -68,8 +69,8 @@ { // No running status to re-use; skip this byte m_sendPos++; + continue; } - continue; } else { // Other MIDI messages |