diff options
author | Damien Zammit <damien@zamaudio.com> | 2017-02-18 13:16:31 +1100 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2017-02-18 13:18:32 +1100 |
commit | c40ccd5aaeb6e1c6ffd7f7685567444a26ded76f (patch) | |
tree | 4c93023461fb421730f35ecc03a5963d8274110a /libs/ptformat/ptfformat.cc | |
parent | 0a4090965576fc55ae9d67da3dd93855a0b0134d (diff) |
ptformat: Update lib to upstream 624671c
Temporary measure to prevent bogus data being parsed:
Until .ptx decryption is fully solved, we protect
the MIDI data output against bogus values being parsed.
Diffstat (limited to 'libs/ptformat/ptfformat.cc')
-rw-r--r-- | libs/ptformat/ptfformat.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ptformat/ptfformat.cc b/libs/ptformat/ptfformat.cc index a3b18b35d5..ec67fd37b3 100644 --- a/libs/ptformat/ptfformat.cc +++ b/libs/ptformat/ptfformat.cc @@ -766,6 +766,14 @@ PTFFormat::parsemidi(void) { m.length = midi_len; m.note = midi_note; m.velocity = midi_velocity; +#if 1 +// stop gap measure to prevent crashes in ardour, +// remove when decryption is fully solved for .ptx + if ((m.velocity & 0x80) || (m.note & 0x80) || + (m.pos & 0xff00000000) || (m.length & 0xff00000000)) { + continue; + } +#endif midi.push_back(m); //fprintf(stderr, "MIDI: Note=%d Vel=%d Start=%d(samples) Len=%d(samples)\n", midi_note, midi_velocity, midi_pos, midi_len); |