Re: [PATCH] perf stat: fix error check return value of hashmap__new()

From: Arnaldo Carvalho de Melo
Date: Wed Apr 13 2022 - 21:21:11 EST


Em Wed, Apr 13, 2022 at 09:33:02AM +0000, cgel.zte@xxxxxxxxx escreveu:
> From: Lv Ruyi <lv.ruyi@xxxxxxxxxx>
>
> hashmap__new() returns ERR_PTR(-ENOMEM) when it fails, so we should use
> IS_ERR() to check it in error handling path.

Thanks, applied.

- Arnaldo


> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Lv Ruyi <lv.ruyi@xxxxxxxxxx>
> ---
> tools/perf/util/stat.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/stat.c b/tools/perf/util/stat.c
> index ee6f03481215..817a2de264b4 100644
> --- a/tools/perf/util/stat.c
> +++ b/tools/perf/util/stat.c
> @@ -1,5 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> #include <errno.h>
> +#include <linux/err.h>
> #include <inttypes.h>
> #include <math.h>
> #include <string.h>
> @@ -311,7 +312,7 @@ static int check_per_pkg(struct evsel *counter, struct perf_counts_values *vals,
>
> if (!mask) {
> mask = hashmap__new(pkg_id_hash, pkg_id_equal, NULL);
> - if (!mask)
> + if (IS_ERR(mask))
> return -ENOMEM;
>
> counter->per_pkg_mask = mask;
> --
> 2.25.1

--

- Arnaldo