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.

Cc: Steven Rostedt <rost...@goodmis.org>
Signed-off-by: Namhyung Kim <namhy...@kernel.org>
---
 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);
-- 
2.10.0

Reply via email to