From edf88c66ae4900f6090558dda0667b19857fcb14 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 16 Feb 2020 21:05:49 +0000 Subject: [PATCH] Better assertion error in copy_from. --- src/lib/audio_buffers.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/audio_buffers.cc b/src/lib/audio_buffers.cc index 825c6c2f3..3692c304e 100644 --- a/src/lib/audio_buffers.cc +++ b/src/lib/audio_buffers.cc @@ -190,7 +190,12 @@ AudioBuffers::copy_from (AudioBuffers const * from, int32_t frames_to_copy, int3 DCPOMATIC_ASSERT (from); DCPOMATIC_ASSERT (read_offset >= 0 && (read_offset + frames_to_copy) <= from->_allocated_frames); - DCPOMATIC_ASSERT (write_offset >= 0 && (write_offset + frames_to_copy) <= _allocated_frames); + if (write_offset < 0 || (write_offset + frames_to_copy) > _allocated_frames) { + throw ProgrammingError( + __FILE__, __LINE__, + String::compose("frames_to_copy=%1, read_offset=%2, write_offset=%3", frames_to_copy, read_offset, write_offset) + ); + } for (int i = 0; i < _channels; ++i) { memcpy (_data[i] + write_offset, from->_data[i] + read_offset, frames_to_copy * sizeof(float)); -- 2.30.2