* [ltt-dev] [PATCH UST] UST strncpy assert fix
@ 2010-08-17 22:23 Mathieu Desnoyers
2010-08-19 21:19 ` [ltt-dev] [URGENT] " Mathieu Desnoyers
2010-08-20 4:03 ` [ltt-dev] " Pierre-Marc Fournier
0 siblings, 2 replies; 3+ messages in thread
From: Mathieu Desnoyers @ 2010-08-17 22:23 UTC (permalink / raw)
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>
---
libust/buffers.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Index: ust/libust/buffers.h
===================================================================
--- ust.orig/libust/buffers.h 2010-08-17 18:14:30.000000000 -0400
+++ ust/libust/buffers.h 2010-08-17 18:15:25.000000000 -0400
@@ -522,7 +522,8 @@ static __inline__ int ust_buffers_write(
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_buffe
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ltt-dev] [URGENT] Re: [PATCH UST] UST strncpy assert fix
2010-08-17 22:23 [ltt-dev] [PATCH UST] UST strncpy assert fix Mathieu Desnoyers
@ 2010-08-19 21:19 ` Mathieu Desnoyers
2010-08-20 4:03 ` [ltt-dev] " Pierre-Marc Fournier
1 sibling, 0 replies; 3+ messages in thread
From: Mathieu Desnoyers @ 2010-08-19 21:19 UTC (permalink / raw)
* Mathieu Desnoyers (mathieu.desnoyers at efficios.com) wrote:
> fix off by one in strncpy and write asserts(). Shows only when the event
> reserved fits the exact end of buffer.
Ping ? This bug deserves an immediate release, because it triggers the assert
when users reach a certain amount of data.
Thanks,
Mathieu
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
> libust/buffers.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> Index: ust/libust/buffers.h
> ===================================================================
> --- ust.orig/libust/buffers.h 2010-08-17 18:14:30.000000000 -0400
> +++ ust/libust/buffers.h 2010-08-17 18:15:25.000000000 -0400
> @@ -522,7 +522,8 @@ static __inline__ int ust_buffers_write(
> 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_buffe
> 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
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ltt-dev] [PATCH UST] UST strncpy assert fix
2010-08-17 22:23 [ltt-dev] [PATCH UST] UST strncpy assert fix Mathieu Desnoyers
2010-08-19 21:19 ` [ltt-dev] [URGENT] " Mathieu Desnoyers
@ 2010-08-20 4:03 ` Pierre-Marc Fournier
1 sibling, 0 replies; 3+ messages in thread
From: Pierre-Marc Fournier @ 2010-08-20 4:03 UTC (permalink / raw)
Merged
On 08/17/2010 06:23 PM, Mathieu Desnoyers wrote:
> 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>
> ---
> libust/buffers.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> Index: ust/libust/buffers.h
> ===================================================================
> --- ust.orig/libust/buffers.h 2010-08-17 18:14:30.000000000 -0400
> +++ ust/libust/buffers.h 2010-08-17 18:15:25.000000000 -0400
> @@ -522,7 +522,8 @@ static __inline__ int ust_buffers_write(
> 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_buffe
> 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);
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-08-20 4:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-17 22:23 [ltt-dev] [PATCH UST] UST strncpy assert fix Mathieu Desnoyers
2010-08-19 21:19 ` [ltt-dev] [URGENT] " Mathieu Desnoyers
2010-08-20 4:03 ` [ltt-dev] " Pierre-Marc Fournier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox