diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc index d5238adb60..b110dc286f 100644 --- a/libs/ardour/worker.cc +++ b/libs/ardour/worker.cc @@ -82,6 +82,9 @@ Worker::verify_message_completeness(RingBuffer* rb) uint32_t size; RingBuffer::rw_vector vec; rb->get_read_vector (&vec); + if (vec.len[0] + vec.len[1] < sizeof(size)) { + return false; + } if (vec.len[0] >= sizeof(size)) { memcpy (&size, vec.buf[0], sizeof (size)); } else {