Messages in this thread Patch in this message | | | Date | Mon, 13 Dec 2021 10:08:48 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf expr: Fix missing check for return value of hashmap__new |
| |
Em Mon, Dec 13, 2021 at 10:06:02AM -0300, Arnaldo Carvalho de Melo escreveu: > Em Sun, Dec 12, 2021 at 06:25:02AM +0000, Miaoqian Lin escreveu: > > The hashmap__new() function may return ERR_PTR(-ENOMEM) when malloc > > fails, add IS_ERR checking for ctx->ids. > > > > Signed-off-by: Miaoqian Lin <linmq006@gmail.com> > > Thanks, applied.
I take that back, kfree()? Are you compile testing this?
CC /tmp/build/perf/util/expr.o util/expr.c: In function ‘expr__ctx_new’: util/expr.c:302:13: error: implicit declaration of function ‘IS_ERR’ [-Werror=implicit-function-declaration] 302 | if (IS_ERR(ctx->ids)) { | ^~~~~~ util/expr.c:303:17: error: implicit declaration of function ‘kfree’; did you mean ‘free’? [-Werror=implicit-function-declaration] 303 | kfree(ctx); | ^~~~~ | free cc1: all warnings being treated as errors
I had to fix it applying this on top, please compile test your patches.
- Arnaldo
diff --git a/tools/perf/util/expr.c b/tools/perf/util/expr.c index c94c9ea30d1abd6a..254601060b392c42 100644 --- a/tools/perf/util/expr.c +++ b/tools/perf/util/expr.c @@ -12,6 +12,7 @@ #include "expr-bison.h" #include "expr-flex.h" #include "smt.h" +#include <linux/err.h> #include <linux/kernel.h> #include <linux/zalloc.h> #include <ctype.h> @@ -300,7 +301,7 @@ struct expr_parse_ctx *expr__ctx_new(void) ctx->ids = hashmap__new(key_hash, key_equal, NULL); if (IS_ERR(ctx->ids)) { - kfree(ctx); + free(ctx); return NULL; } ctx->runtime = 0;
| |