Messages in this thread | | | From | Namhyung Kim <> | Date | Tue, 22 Oct 2019 00:09:23 +0900 | Subject | Re: [PATCH] tools lib traceevent: Fix sign variable to return signed in eval_type_str() |
| |
Hi Steve,
On Sat, Oct 19, 2019 at 6:07 AM Steven Rostedt <rostedt@goodmis.org> wrote: > > > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> > > Seems that the value returned by eval_type_str() were always unsigned, and > never signed extended. Luckily, looking at all the trace events that > actually have a signed value seldom (if ever) are negative, so this bug > never showed its face, and if it has, nobody noticed it. > > Converted the sign variable to boolean while at it. > > Link: http://lkml.kernel.org/r/20191013134903.5f879ad1@gandalf.local.home > Fixes: f7d82350e597d ("tools/events: Add files to create libtraceevent.a") > Reported-by: GwanYeong Kim <gy741.kim@gmail.com> > Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks Namhyung
> --- > tools/lib/traceevent/event-parse.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c > index d948475585ce..2b20063813ac 100644 > --- a/tools/lib/traceevent/event-parse.c > +++ b/tools/lib/traceevent/event-parse.c > @@ -2217,7 +2217,7 @@ static char *arg_eval (struct tep_print_arg *arg); > static unsigned long long > eval_type_str(unsigned long long val, const char *type, int pointer) > { > - int sign = 0; > + bool sign = true; > char *ref; > int len; > > @@ -2277,7 +2277,7 @@ eval_type_str(unsigned long long val, const char *type, int pointer) > return (unsigned long long)(int)val & 0xffffffff; > > if (strncmp(type, "unsigned ", 9) == 0) { > - sign = 0; > + sign = false; > type += 9; > } > > -- > 2.20.1 >
| |