From: "Steven Rostedt (VMware)" <[email protected]>

In the case that a bprintk event has a dereferenced pointer that is stored
as a string, and there's more values to process (more args), the arg was not
updated to point to the next arg after processing the dereferenced pointer,
and it screwed up what was to be displayed.

Cc: [email protected]
Fixes: 7db96bb49629 ("tools lib traceevent: Handle new pointer processing of 
bprint strings")
Signed-off-by: Steven Rostedt (VMware) <[email protected]>
---
 tools/lib/traceevent/event-parse.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/lib/traceevent/event-parse.c 
b/tools/lib/traceevent/event-parse.c
index 3692f29fee46..70144b98141c 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -4970,6 +4970,7 @@ static void pretty_print(struct trace_seq *s, void *data, 
int size, struct tep_e
 
                                if (arg->type == TEP_PRINT_BSTRING) {
                                        trace_seq_puts(s, arg->string.string);
+                                       arg = arg->next;
                                        break;
                                }
 
-- 
2.19.1

Reply via email to