Re: [PATCH v1 01/15] perf list: Avoid potential out of bounds memory read

From: Arnaldo Carvalho de Melo
Date: Wed Sep 11 2024 - 10:26:59 EST


On Fri, Sep 06, 2024 at 10:08:16PM -0700, Ian Rogers wrote:
> If a desc string is 0 length then -1 will be out of bounds, add a
> check.

Cherry picked this one.

- Arnaldo

> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> tools/perf/builtin-list.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index 82cb4b1010aa..65b8cba324be 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -173,7 +173,7 @@ static void default_print_event(void *ps, const char *pmu_name, const char *topi
> if (pmu_name && strcmp(pmu_name, "default_core")) {
> desc_len = strlen(desc);
> desc_len = asprintf(&desc_with_unit,
> - desc[desc_len - 1] != '.'
> + desc_len > 0 && desc[desc_len - 1] != '.'
> ? "%s. Unit: %s" : "%s Unit: %s",
> desc, pmu_name);
> }
> --
> 2.46.0.469.g59c65b2a67-goog