From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Adrian Hunter <adrian.hunter@intel.com>,
David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 31/32] perf tests: Avoid possible truncation with dirent->d_name + snprintf
Date: Thu, 9 Feb 2017 22:39:39 -0300 [thread overview]
Message-ID: <20170210013940.9998-32-acme@kernel.org> (raw)
In-Reply-To: <20170210013940.9998-1-acme@kernel.org>
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Addressing a few cases spotted by a new warning in gcc 7:
tests/parse-events.c: In function 'test_pmu_events':
tests/parse-events.c:1790:39: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size 90 [-Werror=format-truncation=]
snprintf(name, MAX_NAME, "cpu/event=%s/u", ent->d_name);
^~
In file included from /usr/include/stdio.h:939:0,
from /git/linux/tools/perf/util/map.h:9,
from /git/linux/tools/perf/util/symbol.h:7,
from /git/linux/tools/perf/util/evsel.h:10,
from tests/parse-events.c:3:
/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output between 13 and 268 bytes into a destination of size 100
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/parse-events.c:1798:29: error: '%s' directive output may be truncated writing up to 255 bytes into a region of size 100 [-Werror=format-truncation=]
snprintf(name, MAX_NAME, "%s:u,cpu/event=%s/u", ent->d_name, ent->d_name);
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>
Fixes: 945aea220bb8 ("perf tests: Move test objects into 'tests' directory")
Link: http://lkml.kernel.org/n/tip-ty4q2p8zp1dp3mskvubxskm5@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/parse-events.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c
index 20c2e641c422..aa9276bfe3e9 100644
--- a/tools/perf/tests/parse-events.c
+++ b/tools/perf/tests/parse-events.c
@@ -1779,15 +1779,14 @@ static int test_pmu_events(void)
}
while (!ret && (ent = readdir(dir))) {
-#define MAX_NAME 100
struct evlist_test e;
- char name[MAX_NAME];
+ char name[2 * NAME_MAX + 1 + 12 + 3];
/* Names containing . are special and cannot be used directly */
if (strchr(ent->d_name, '.'))
continue;
- snprintf(name, MAX_NAME, "cpu/event=%s/u", ent->d_name);
+ snprintf(name, sizeof(name), "cpu/event=%s/u", ent->d_name);
e.name = name;
e.check = test__checkevent_pmu_events;
@@ -1795,11 +1794,10 @@ static int test_pmu_events(void)
ret = test_event(&e);
if (ret)
break;
- snprintf(name, MAX_NAME, "%s:u,cpu/event=%s/u", ent->d_name, ent->d_name);
+ snprintf(name, sizeof(name), "%s:u,cpu/event=%s/u", ent->d_name, ent->d_name);
e.name = name;
e.check = test__checkevent_pmu_events_mix;
ret = test_event(&e);
-#undef MAX_NAME
}
closedir(dir);
--
2.9.3
next prev parent reply other threads:[~2017-02-10 1:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-10 1:39 [GIT PULL 00/32] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 01/32] perf tools arm64: Add support for generating bpf prologue Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 02/32] perf bpf: Add missing newline in debug messages Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 03/32] perf jevents: Parse eventcode as number Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 04/32] perf jevents: Add support for parsing uncore json files Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 05/32] perf pmu: Support per pmu json aliases Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 06/32] perf pmu: Support event aliases for non cpu// pmus Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 07/32] perf list: Add debug support for outputing alias string Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 08/32] perf sdt: Show proper hint when event not yet in place via 'perf probe' Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 09/32] perf symbols: Take into account symfs setting when reading file build ID Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 10/32] perf probe: Add option --symfs Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 11/32] perf tools: Only increase index if perf_evsel__new_idx() succeeds Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 12/32] perf tools: Add missing check for failure in a zalloc() call Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 13/32] perf tools: Use zfree() instead of ad hoc equivalent Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 14/32] perf tools: Use zfree() to avoid keeping dangling pointers Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 15/32] tools lib traceevent: Robustify do_generate_dynamic_list_file Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 16/32] perf tools: Fix include of linux/mman.h Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 17/32] perf vendor events intel: Add uncore events for Haswell Server processor Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 18/32] perf vendor events intel: Add uncore events for Broadwell Server Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 19/32] perf vendor events intel: Add uncore events for IvyBridge Server Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 20/32] perf vendor events intel: Add uncore events for Sandy Bridge Server Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 21/32] perf vendor events intel: Add uncore events for Xeon Phi (Knights Landing) Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 22/32] perf vendor events intel: Add uncore events for Broadwell DE Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 23/32] tools lib bpf: Add missing header to the library Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 24/32] tools include: Add a __fallthrough statement Arnaldo Carvalho de Melo
2017-02-10 3:02 ` Joe Perches
2017-02-10 14:42 ` Arnaldo Carvalho de Melo
2017-02-10 17:08 ` [PATCH] compiler/compiler-gcc: Add __fallthrough Joe Perches
2017-02-10 17:18 ` Arnaldo Carvalho de Melo
2017-02-10 18:50 ` Joe Perches
[not found] ` <20170824133654.fnbaaj5kjtstzm42@smile.fi.intel.com>
[not found] ` <1503598834.12569.8.camel@perches.com>
[not found] ` <1503599543.25945.94.camel@intel.com>
2017-08-24 20:42 ` Joe Perches
2017-02-10 1:39 ` [PATCH 25/32] tools string: Use __fallthrough in perf_atoll() Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 26/32] tools strfilter: Use __fallthrough Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 27/32] perf top: " Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 28/32] perf thread_map: Correctly size buffer used with dirent->dt_name Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 29/32] perf header: Fix handling of PERF_EVENT_UPDATE__SCALE Arnaldo Carvalho de Melo
2017-02-10 1:39 ` [PATCH 30/32] perf bench numa: Avoid possible truncation when using snprintf() Arnaldo Carvalho de Melo
2017-02-10 1:39 ` Arnaldo Carvalho de Melo [this message]
2017-02-10 1:39 ` [PATCH 32/32] perf intel-pt: Use __fallthrough Arnaldo Carvalho de Melo
2017-02-10 7:38 ` [GIT PULL 00/32] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170210013940.9998-32-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®