13
0

CoreMIDI: fix crash when receiving long MIDI messages

CoreMidiIo::recv_event imposes a limit of 1024 bytes/packet.
This commit is contained in:
Robin Gareus 2024-06-04 16:43:20 +02:00
parent 0ec926668c
commit b9bca313d2
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -38,7 +38,7 @@ namespace ARDOUR {
typedef struct _CoreMIDIPacket {
MIDITimeStamp timeStamp;
UInt16 length;
Byte data[256];
Byte data[1024];
#if 0 // unused
_CoreMIDIPacket (MIDITimeStamp t, Byte *d, UInt16 l)
: timeStamp(t)
@ -56,6 +56,7 @@ typedef struct _CoreMIDIPacket {
: timeStamp(other->timeStamp)
, length (other->length)
{
assert (l <= 1024);
if (length > 0) {
memcpy(data, other->data, length);
}