summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2017-02-18 13:16:31 +1100
committerDamien Zammit <damien@zamaudio.com>2017-02-18 13:18:32 +1100
commitc40ccd5aaeb6e1c6ffd7f7685567444a26ded76f (patch)
tree4c93023461fb421730f35ecc03a5963d8274110a /libs
parent0a4090965576fc55ae9d67da3dd93855a0b0134d (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')
-rw-r--r--libs/ptformat/ptfformat.cc8
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);