From c49f607ce6a57d39ff46d4bcda47189b149a895e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 18 Aug 2025 16:35:19 -0600 Subject: [PATCH] slightly refine SMF::is_meta() to differentiate realtime system reset --- libs/evoral/SMF.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/evoral/SMF.cc b/libs/evoral/SMF.cc index 483744a136..e3508ad23c 100644 --- a/libs/evoral/SMF.cc +++ b/libs/evoral/SMF.cc @@ -414,6 +414,14 @@ SMF::read_event(uint32_t* delta_t, uint32_t* bufsize, uint8_t** buf, event_id_t* bool SMF::is_meta (uint8_t const* buf, uint32_t size) { + if (size < 2) { + return false; + } + + /* unlike the libsmf version of this functionality, this explicitly + * tests for known metadata event types, and only allows them. + */ + if (buf[0] == 0xff) { switch (buf[1]) { case 0x00: /* seq num */