On Sat,  1 Oct 2016 19:17:00 +0900
Namhyung Kim <[email protected]> wrote:

> When it's called with an offset less than or equal to the first event,
> it'll return a garbage value since the data is not initialized.

Well, it can at most be equal to (unless offset is negative) because
kbuffer_load_subbuffer() sets kbuf->curr to zero.

But that said, it looks like offset == 0 is buggy.

Acked-by: Steven Rostedt <[email protected]>


-- Steve

> 
> Cc: Steven Rostedt <[email protected]>
> Signed-off-by: Namhyung Kim <[email protected]>
> ---
>  tools/lib/traceevent/kbuffer-parse.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/lib/traceevent/kbuffer-parse.c 
> b/tools/lib/traceevent/kbuffer-parse.c
> index 3bcada3ae05a..65984f1c2974 100644
> --- a/tools/lib/traceevent/kbuffer-parse.c
> +++ b/tools/lib/traceevent/kbuffer-parse.c
> @@ -622,6 +622,7 @@ void *kbuffer_read_at_offset(struct kbuffer *kbuf, int 
> offset,
>  
>       /* Reset the buffer */
>       kbuffer_load_subbuffer(kbuf, kbuf->subbuffer);
> +     data = kbuffer_read_event(kbuf, ts);
>  
>       while (kbuf->curr < offset) {
>               data = kbuffer_next_event(kbuf, ts);

Reply via email to