From 679d48ee2b4f08b34481a1c59208421621bf60d1 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 23 Mar 2014 00:04:46 +0100 Subject: fix edge case (partial write of LV2 worker message size) --- libs/ardour/worker.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libs/ardour/worker.cc') 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 { -- cgit v1.2.3