[PATCH] perf subcmd: Fix missing check for return value of malloc() in add_cmdname()

Chenyuan Mi posted 1 patch 2 years, 7 months ago
tools/lib/subcmd/help.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] perf subcmd: Fix missing check for return value of malloc() in add_cmdname()
Posted by Chenyuan Mi 2 years, 7 months ago
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>
---
 tools/lib/subcmd/help.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/lib/subcmd/help.c b/tools/lib/subcmd/help.c
index bf02d62a3b2b..510a3eccb60f 100644
--- a/tools/lib/subcmd/help.c
+++ b/tools/lib/subcmd/help.c
@@ -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);
-- 
2.17.1
Re: [PATCH] perf subcmd: Fix missing check for return value of malloc() in add_cmdname()
Posted by Ian Rogers 2 years, 7 months ago
On Wed, Jun 14, 2023 at 8:01 AM Chenyuan Mi <cymi20@fudan.edu.cn> wrote:
>
> 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>

Thanks,
Ian

> ---
>  tools/lib/subcmd/help.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/lib/subcmd/help.c b/tools/lib/subcmd/help.c
> index bf02d62a3b2b..510a3eccb60f 100644
> --- a/tools/lib/subcmd/help.c
> +++ b/tools/lib/subcmd/help.c
> @@ -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);
> --
> 2.17.1
>
Re: [PATCH] perf subcmd: Fix missing check for return value of malloc() in add_cmdname()
Posted by Namhyung Kim 2 years, 7 months ago
On Wed, Jun 14, 2023 at 9:21 AM Ian Rogers <irogers@google.com> wrote:
>
> On Wed, Jun 14, 2023 at 8:01 AM Chenyuan Mi <cymi20@fudan.edu.cn> wrote:
> >
> > 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>

Applied to perf-tools-next, thanks!