From 55c2c9db7e4f1e33f51270513ea179ea0ad93a74 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 10 Nov 2020 21:00:08 +0900 Subject: [PATCH] Add sanity assert in MidiBuffer::insert_event to check for overflow --- libs/ardour/midi_buffer.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/ardour/midi_buffer.cc b/libs/ardour/midi_buffer.cc index 20331473a2..26616bc045 100644 --- a/libs/ardour/midi_buffer.cc +++ b/libs/ardour/midi_buffer.cc @@ -252,6 +252,7 @@ MidiBuffer::insert_event(const Evoral::Event& ev) } uint8_t* const write_loc = _data + insert_offset; + assert((insert_offset + stamp_size + etype_size + ev.size()) <= _capacity); *(reinterpret_cast((uintptr_t)write_loc)) = t; *(reinterpret_cast((uintptr_t)(write_loc + stamp_size))) = ev.event_type (); memcpy(write_loc + stamp_size + etype_size, ev.buffer(), ev.size());