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);

