tools lib traceevent: Fix off-by-one bug in pevent_strerror()
authorNamhyung Kim <namhyung.kim@lge.com>
Thu, 23 Aug 2012 07:37:00 +0000 (16:37 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 23 Aug 2012 14:29:20 +0000 (11:29 -0300)
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.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1345707420-21767-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c

index f978c59f67bff7fe72ea46564a6f4a256301f614..b5b4d806ffa25dd32a0a30b4207c15e5c1e22598 100644 (file)
@@ -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];
 
        switch (errnum) {