perf subcmd: Fix missing check for return value of malloc() in add_cmdname()
authorChenyuan Mi <cymi20@fudan.edu.cn>
Wed, 14 Jun 2023 15:01:18 +0000 (08:01 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Tue, 20 Jun 2023 23:55:35 +0000 (16:55 -0700)
The malloc() function may return NULL when it fails,
which may cause null pointer deference in add_cmdname(),
add Null check for return value of malloc().

Found by our static analysis tool.

Signed-off-by: Chenyuan Mi <cymi20@fudan.edu.cn>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: linux-kernel@vger.kernel.org
Link: https://lore.kernel.org/r/20230614150118.115208-1-cymi20@fudan.edu.cn
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/lib/subcmd/help.c

index a66fb1a1a312268fe5588f0d8fa7c5a2ecf2cbb6..67a8d6b740eadf826a1a51cb68b879b5028b9e83 100644 (file)
@@ -16,6 +16,8 @@
 void add_cmdname(struct cmdnames *cmds, const char *name, size_t len)
 {
        struct cmdname *ent = malloc(sizeof(*ent) + len + 1);
+       if (!ent)
+               return;
 
        ent->len = len;
        memcpy(ent->name, name, len);