| From adeebd0344e59f2c75bea284983c3ed4d7d20587 Mon Sep 17 00:00:00 2001 |
| From: Ian Rogers <irogers@google.com> |
| Date: Thu, 26 Sep 2019 15:00:18 -0700 |
| Subject: [PATCH] perf llvm: Don't access out-of-scope array |
| |
| commit 7d4c85b7035eb2f9ab217ce649dcd1bfaf0cacd3 upstream. |
| |
| The 'test_dir' variable is assigned to the 'release' array which is |
| out-of-scope 3 lines later. |
| |
| Extend the scope of the 'release' array so that an out-of-scope array |
| isn't accessed. |
| |
| Bug detected by clang's address sanitizer. |
| |
| Fixes: 07bc5c699a3d ("perf tools: Make fetch_kernel_version() publicly available") |
| Cc: stable@vger.kernel.org # v4.4+ |
| Signed-off-by: Ian Rogers <irogers@google.com> |
| Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> |
| Cc: Andi Kleen <ak@linux.intel.com> |
| Cc: Jiri Olsa <jolsa@redhat.com> |
| Cc: Namhyung Kim <namhyung@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Stephane Eranian <eranian@google.com> |
| Cc: Wang Nan <wangnan0@huawei.com> |
| Link: http://lore.kernel.org/lkml/20190926220018.25402-1-irogers@google.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/tools/perf/util/llvm-utils.c b/tools/perf/util/llvm-utils.c |
| index 5b0b60f00275..d59908304dbe 100644 |
| --- a/tools/perf/util/llvm-utils.c |
| +++ b/tools/perf/util/llvm-utils.c |
| @@ -230,14 +230,14 @@ static int detect_kbuild_dir(char **kbuild_dir) |
| const char *prefix_dir = ""; |
| const char *suffix_dir = ""; |
| |
| + /* _UTSNAME_LENGTH is 65 */ |
| + char release[128]; |
| + |
| char *autoconf_path; |
| |
| int err; |
| |
| if (!test_dir) { |
| - /* _UTSNAME_LENGTH is 65 */ |
| - char release[128]; |
| - |
| err = fetch_kernel_version(NULL, release, |
| sizeof(release)); |
| if (err) |
| -- |
| 2.7.4 |
| |