From mboxrd@z Thu Jan 1 00:00:00 1970 From: compudj@krystal.dyndns.org (Mathieu Desnoyers) Date: Tue, 30 Nov 2010 15:25:04 -0500 Subject: [ltt-dev] Assertion failure In-Reply-To: <0B313B6FF2091F4197B830CF774530F2015ADED0@na3-mail.mgc.mentorg.com> References: <0B313B6FF2091F4197B830CF774530F2015ADEBA@na3-mail.mgc.mentorg.com> <20101130193054.GA23828@Krystal> <0B313B6FF2091F4197B830CF774530F2015ADED0@na3-mail.mgc.mentorg.com> Message-ID: <20101130202504.GA28686@Krystal> * Klein, Russell (russell_klein at mentor.com) wrote: > Mathieu, > > Unfortunately not, this is the highest revision which is supported by > the linux I am running. I am willing to backport a fix if you can point > me in the general direction. See the following commit in the git tree: commit 578e232ab4e234294d03fb7022863b45c801eaa1 Author: Mathieu Desnoyers Date: Tue Aug 17 18:23:21 2010 -0400 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 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); -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com