Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [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