From e4a18c55744fec3f618f035dd2b6f3d95b5e4144 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Mon, 5 Jul 2004 11:57:53 +0000 Subject: [PATCH] Only allow valid midi commands with length>0 Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1871 --- src/gui/midi.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/gui/midi.cpp b/src/gui/midi.cpp index ebc8550e..c4ce0ea2 100644 --- a/src/gui/midi.cpp +++ b/src/gui/midi.cpp @@ -203,14 +203,16 @@ void MIDI_RawOutByte(Bit8u data) { midi.sysex.used=1; } } - midi.cmd_buf[midi.cmd_pos++]=data; - if (midi.cmd_len && midi.cmd_pos >= midi.cmd_len) { - if (midi.raw.handle) { - RawAddDelta(); - RawAddData(midi.cmd_buf,midi.cmd_len); + if (midi.cmd_len) { + midi.cmd_buf[midi.cmd_pos++]=data; + if (midi.cmd_pos >= midi.cmd_len) { + if (midi.raw.handle) { + RawAddDelta(); + RawAddData(midi.cmd_buf,midi.cmd_len); + } + midi.handler->PlayMsg(midi.cmd_buf); + midi.cmd_pos=1; //Use Running status } - midi.handler->PlayMsg(midi.cmd_buf); - midi.cmd_pos=1; //Use Running status } }