Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1578109
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 28/32] perf thread_map: Correctly size buffer used with dirent->dt_name |
| Date | 2017-02-10 03:10 +0100 |
| Message-ID | <t98OS-5HM-17@gated-at.bofh.it> (permalink) |
| References | <t98vv-5lK-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The size of dirent->dt_name is NAME_MAX + 1, but the size for the 'path'
buffer is hard coded at 256, which may truncate it because we also
prepend "/proc/", so that all that into account and thank gcc 7 for this
warning:
/git/linux/tools/perf/util/thread_map.c: In function 'thread_map__new_by_uid':
/git/linux/tools/perf/util/thread_map.c:119:39: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size 250 [-Werror=format-truncation=]
snprintf(path, sizeof(path), "/proc/%s", dirent->d_name);
^~
In file included from /usr/include/stdio.h:939:0,
from /git/linux/tools/perf/util/thread_map.c:5:
/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output between 7 and 262 bytes into a destination of size 256
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-csy0r8zrvz5efccgd4k12c82@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/thread_map.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/thread_map.c b/tools/perf/util/thread_map.c
index f9eab200fd75..7c3fcc538a70 100644
--- a/tools/perf/util/thread_map.c
+++ b/tools/perf/util/thread_map.c
@@ -93,7 +93,7 @@ struct thread_map *thread_map__new_by_uid(uid_t uid)
{
DIR *proc;
int max_threads = 32, items, i;
- char path[256];
+ char path[NAME_MAX + 1 + 6];
struct dirent *dirent, **namelist = NULL;
struct thread_map *threads = thread_map__alloc(max_threads);
--
2.9.3
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL 00/32] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 02:50 +0100
[PATCH 17/32] perf vendor events intel: Add uncore events for Haswell Server processor Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 26/32] tools strfilter: Use __fallthrough Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 27/32] perf top: Use __fallthrough Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 21/32] perf vendor events intel: Add uncore events for Xeon Phi (Knights Landing) Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 28/32] perf thread_map: Correctly size buffer used with dirent->dt_name Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 15/32] tools lib traceevent: Robustify do_generate_dynamic_list_file Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 25/32] tools string: Use __fallthrough in perf_atoll() Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 10/32] perf probe: Add option --symfs Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:10 +0100
[PATCH 04/32] perf jevents: Add support for parsing uncore json files Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:40 +0100
[PATCH 06/32] perf pmu: Support event aliases for non cpu// pmus Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:40 +0100
[PATCH 07/32] perf list: Add debug support for outputing alias string Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:40 +0100
[PATCH 08/32] perf sdt: Show proper hint when event not yet in place via 'perf probe' Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:40 +0100
[PATCH 01/32] perf tools arm64: Add support for generating bpf prologue Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:40 +0100
[PATCH 24/32] tools include: Add a __fallthrough statement Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
Re: [PATCH 24/32] tools include: Add a __fallthrough statement Joe Perches <joe@perches.com> - 2017-02-10 04:10 +0100
Re: [PATCH 24/32] tools include: Add a __fallthrough statement Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 15:50 +0100
[PATCH] compiler/compiler-gcc: Add __fallthrough Joe Perches <joe@perches.com> - 2017-02-10 19:00 +0100
Re: [PATCH] compiler/compiler-gcc: Add __fallthrough Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 19:20 +0100
Re: [PATCH] compiler/compiler-gcc: Add __fallthrough Joe Perches <joe@perches.com> - 2017-02-10 20:00 +0100
[PATCH 03/32] perf jevents: Parse eventcode as number Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 05/32] perf pmu: Support per pmu json aliases Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 32/32] perf intel-pt: Use __fallthrough Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 20/32] perf vendor events intel: Add uncore events for Sandy Bridge Server Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 11/32] perf tools: Only increase index if perf_evsel__new_idx() succeeds Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 12/32] perf tools: Add missing check for failure in a zalloc() call Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 13/32] perf tools: Use zfree() instead of ad hoc equivalent Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 14/32] perf tools: Use zfree() to avoid keeping dangling pointers Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 02/32] perf bpf: Add missing newline in debug messages Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 22/32] perf vendor events intel: Add uncore events for Broadwell DE Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 29/32] perf header: Fix handling of PERF_EVENT_UPDATE__SCALE Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 18/32] perf vendor events intel: Add uncore events for Broadwell Server Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 03:50 +0100
[PATCH 30/32] perf bench numa: Avoid possible truncation when using snprintf() Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 04:10 +0100
[PATCH 19/32] perf vendor events intel: Add uncore events for IvyBridge Server Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-02-10 04:50 +0100
Re: [GIT PULL 00/32] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2017-02-10 09:20 +0100
csiph-web