Re: [PATCH] perf: increase size of buf in perf_evsel__hists_browse()
From: Jiri Olsa
Date: Sat Oct 31 2020 - 16:29:29 EST
On Fri, Oct 30, 2020 at 04:54:31PM -0700, Song Liu wrote:
> Making perf with gcc-9.1.1 generates the following warning:
>
> CC ui/browsers/hists.o
> ui/browsers/hists.c: In function 'perf_evsel__hists_browse':
> ui/browsers/hists.c:3078:61: error: '%d' directive output may be \
> truncated writing between 1 and 11 bytes into a region of size \
> between 2 and 12 [-Werror=format-truncation=]
>
> 3078 | "Max event group index to sort is %d (index from 0 to %d)",
> | ^~
> ui/browsers/hists.c:3078:7: note: directive argument in the range [-2147483648, 8]
> 3078 | "Max event group index to sort is %d (index from 0 to %d)",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/stdio.h:937,
> from ui/browsers/hists.c:5:
>
> IOW, the string in line 3078 might be too long for buf[] of 64 bytes.
>
> Fix this by increasing the size of buf[] to 128.
>
> Fixes: dbddf1747441 ("perf report/top TUI: Support hotkeys to let user select any event for sorting")
> Cc: stable <stable@xxxxxxxxxxxxxxx> # v5.7+
> Cc: Jin Yao <yao.jin@xxxxxxxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Signed-off-by: Song Liu <songliubraving@xxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
jirka
> ---
> tools/perf/ui/browsers/hists.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
> index a07626f072087..b0e1880cf992b 100644
> --- a/tools/perf/ui/browsers/hists.c
> +++ b/tools/perf/ui/browsers/hists.c
> @@ -2963,7 +2963,7 @@ static int perf_evsel__hists_browse(struct evsel *evsel, int nr_events,
> struct popup_action actions[MAX_OPTIONS];
> int nr_options = 0;
> int key = -1;
> - char buf[64];
> + char buf[128];
> int delay_secs = hbt ? hbt->refresh : 0;
>
> #define HIST_BROWSER_HELP_COMMON \
> --
> 2.24.1
>