In argv_parse(), return value of malloc should be checked whether it is NULL, otherwise, it may cause a segfault error. Signed-off-by: Zhiqiang Liu <liuzhiqiang26@xxxxxxxxxx> Signed-off-by: Wu Guanghao <wuguanghao3@xxxxxxxxxx> --- lib/support/argv_parse.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/support/argv_parse.c b/lib/support/argv_parse.c index d22f6344..1ef9c014 100644 --- a/lib/support/argv_parse.c +++ b/lib/support/argv_parse.c @@ -116,6 +116,8 @@ int argv_parse(char *in_buf, int *ret_argc, char ***ret_argv) if (argv == 0) { argv = malloc(sizeof(char *)); free(buf); + if (!arcv) + return -1; } argv[argc] = 0; if (ret_argc) --