summaryrefslogtreecommitdiffstats
path: root/tools/perf/arch/sparc
diff options
context:
space:
mode:
authorWang Nan <wangnan0@huawei.com>2015-09-01 05:29:44 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-09-01 16:33:48 +0200
commit3b27d13940c3710a1128527c43719cb0bb05d73b (patch)
tree88847c3a13e7c792c0416be0c6186d903fb57d2c /tools/perf/arch/sparc
parentMerge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/... (diff)
downloadlinux-3b27d13940c3710a1128527c43719cb0bb05d73b.tar.xz
linux-3b27d13940c3710a1128527c43719cb0bb05d73b.zip
perf dwarf: Fix potential array out of bounds access
There is a problem in the dwarf-regs.c files for sh, sparc and x86 where it is possible to make an out-of-bounds array access when searching for register names. This patch fixes it by replacing '<=' to '<', so when register (number == XXX_MAX_REGS), get_arch_regstr() will return NULL. Signed-off-by: Wang Nan <wangnan0@huawei.com> Reviewed-by: Matt Fleming <matt@console-pimps.org> Acked-by: Jiri Olsa <jolsa@kernel.org> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Cc: David S. Miller <davem@davemloft.net> Cc: Zefan Li <lizefan@huawei.com> Cc: pi3orama@huawei.com Link: http://lkml.kernel.org/r/1441078184-105038-1-git-send-email-wangnan0@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/arch/sparc')
-rw-r--r--tools/perf/arch/sparc/util/dwarf-regs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/perf/arch/sparc/util/dwarf-regs.c b/tools/perf/arch/sparc/util/dwarf-regs.c
index 92eda412fed3..b704fdb9237a 100644
--- a/tools/perf/arch/sparc/util/dwarf-regs.c
+++ b/tools/perf/arch/sparc/util/dwarf-regs.c
@@ -39,5 +39,5 @@ const char *sparc_regs_table[SPARC_MAX_REGS] = {
*/
const char *get_arch_regstr(unsigned int n)
{
- return (n <= SPARC_MAX_REGS) ? sparc_regs_table[n] : NULL;
+ return (n < SPARC_MAX_REGS) ? sparc_regs_table[n] : NULL;
}