[ltt-dev] Assertion failure
Klein, Russell
russell_klein at mentor.com
Wed Dec 1 00:07:40 EST 2010
Thanks so much. Now it works perfectly!
Regards, Russ Klein
-----Original Message-----
From: Mathieu Desnoyers [mailto:compudj at krystal.dyndns.org]
Sent: Tuesday, November 30, 2010 12:25 PM
To: Klein, Russell
Cc: ltt-dev at lists.casi.polymtl.ca
Subject: Re: [ltt-dev] Assertion failure
* 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 <mathieu.desnoyers at efficios.com>
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 <mathieu.desnoyers at efficios.com>
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
More information about the lttng-dev
mailing list