From 578e232ab4e234294d03fb7022863b45c801eaa1 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 17 Aug 2010 18:23:21 -0400 Subject: [PATCH] UST strncpy assert fix fix off by one in strncpy and write asserts(). Shows only when the event reserved fits the exact end of buffer. Signed-off-by: Mathieu Desnoyers --- libust/buffers.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libust/buffers.h b/libust/buffers.h index 63449d6..9fedc48 100644 --- a/libust/buffers.h +++ b/libust/buffers.h @@ -522,7 +522,8 @@ static __inline__ int ust_buffers_write(struct ust_buffer *buf, size_t offset, size_t buf_offset = BUFFER_OFFSET(offset, buf->chan); assert(buf_offset < buf->chan->subbuf_size*buf->chan->subbuf_cnt); - assert(buf_offset + len < buf->chan->subbuf_size*buf->chan->subbuf_cnt); + assert(buf_offset + len + <= buf->chan->subbuf_size*buf->chan->subbuf_cnt); ust_buffers_do_copy(buf->buf_data + buf_offset, src, len); @@ -590,7 +591,8 @@ int ust_buffers_strncpy(struct ust_buffer *buf, size_t offset, const void *src, int terminated; assert(buf_offset < buf->chan->subbuf_size*buf->chan->subbuf_cnt); - assert(buf_offset + len < buf->chan->subbuf_size*buf->chan->subbuf_cnt); + assert(buf_offset + len + <= buf->chan->subbuf_size*buf->chan->subbuf_cnt); copied = ust_buffers_do_strncpy(buf->buf_data + buf_offset, src, len, &terminated); -- 2.34.1