Messages in this thread | | | Subject | Re: [PATCH] tools lib traceevent: Fix off-by-one bug in pevent_strerror() | From | Steven Rostedt <> | Date | Thu, 23 Aug 2012 05:30:23 -0400 |
| |
On Thu, 2012-08-23 at 16:37 +0900, Namhyung Kim wrote: > From: Namhyung Kim <namhyung.kim@lge.com> > > As pevent_errno is defined using PEVENT_ERRORS which uses _PE macro > magic, the first errno is bigger than __PEVENT_ERRNO_START by 1. So we > need to subtract the 1 also when calculating the index of the error > strings. > > Cc: Fredereic Weisbecker <fweisbec@gmail.com> > Cc: Steven Rostedt <rostedt@goodmis.org> > Signed-off-by: Namhyung Kim <namhyung@kernel.org> > --- > tools/lib/traceevent/event-parse.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c > index f978c59f67bf..b5b4d806ffa2 100644 > --- a/tools/lib/traceevent/event-parse.c > +++ b/tools/lib/traceevent/event-parse.c > @@ -4822,7 +4822,7 @@ int pevent_strerror(struct pevent *pevent, enum pevent_errno errnum, > errnum >= __PEVENT_ERRNO__END) > return -1; > > - idx = errnum - __PEVENT_ERRNO__START; > + idx = errnum - __PEVENT_ERRNO__START - 1; > msg = pevent_error_str[idx]; >
Note, if you had kept my original way, you wouldn't have this bug ;-)
http://marc.info/?l=linux-kernel&m=133976417632111
-- Steve
> switch (errnum) {
| |