- cpy = min_t(size_t, len, buf->buf_size - offset);
- ltt_relay_do_copy(buf->buf_data + offset, src, cpy);
+ size_t buf_offset = BUFFER_OFFSET(offset, buf->chan);
+
+ assert(buf_offset < buf->chan->subbuf_size*buf->chan->n_subbufs);
+
+ cpy = min_t(size_t, len, buf->buf_size - buf_offset);
+ ltt_relay_do_copy(buf->buf_data + buf_offset, src, cpy);