mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
tools/perf/tests: Fix compilation error with strncpy in tests/tool_pmu
perf fails to compile on systems with GCC version11
as below:
In file included from /usr/include/string.h:519,
from /home/athir/perf-tools-next/tools/include/linux/bitmap.h:5,
from /home/athir/perf-tools-next/tools/perf/util/pmu.h:5,
from /home/athir/perf-tools-next/tools/perf/util/evsel.h:14,
from /home/athir/perf-tools-next/tools/perf/util/evlist.h:14,
from tests/tool_pmu.c:3:
In function ‘strncpy’,
inlined from ‘do_test’ at tests/tool_pmu.c:25:3:
/usr/include/bits/string_fortified.h:95:10: error: ‘__builtin_strncpy’ specified bound 128 equals destination size [-Werror=stringop-truncation]
95 | return __builtin___strncpy_chk (__dest, __src, __len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96 | __glibc_objsize (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~~
The compile error is from strncpy refernce in do_test:
strncpy(str, tool_pmu__event_to_str(ev), sizeof(str));
This behaviour is not observed with GCC version 8, but observed
with GCC version 11 . This is message from gcc for detecting
truncation while using strncpu. Use snprintf instead of strncpy
here to be safe.
Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: akanksha@linux.ibm.com
Cc: hbathini@linux.ibm.com
Cc: kjain@linux.ibm.com
Cc: maddy@linux.ibm.com
Cc: disgoel@linux.vnet.ibm.com
Cc: linuxppc-dev@lists.ozlabs.org
Link: https://lore.kernel.org/r/20241013173742.71882-1-atrajeev@linux.vnet.ibm.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
48966a5a48
commit
d94d86cee1
|
|
@ -22,7 +22,7 @@ static int do_test(enum tool_pmu_event ev, bool with_pmu)
|
|||
if (with_pmu)
|
||||
snprintf(str, sizeof(str), "tool/%s/", tool_pmu__event_to_str(ev));
|
||||
else
|
||||
strncpy(str, tool_pmu__event_to_str(ev), sizeof(str));
|
||||
snprintf(str, sizeof(str), "%s", tool_pmu__event_to_str(ev));
|
||||
|
||||
parse_events_error__init(&err);
|
||||
ret = parse_events(evlist, str, &err);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user