From 5aa0dd42f7b45b5ef2bceb8510aeb2a892866abf Mon Sep 17 00:00:00 2001 From: ERAMOTO Masaya Date: Mon, 19 Mar 2018 13:46:05 +0900 Subject: shared/shell: Return NULL if generator error occur Explicitly returns NULL if asprintf() fails, since the asprintf(3) man-page says that the contents of the first argument are undefined if any error occurs. --- src/shared/shell.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shared/shell.c b/src/shared/shell.c index 0a05b5215..7417e7ab4 100644 --- a/src/shared/shell.c +++ b/src/shared/shell.c @@ -643,8 +643,13 @@ static char *cmd_generator(const char *text, int state) } cmd = find_cmd(text + strlen(menu->name) + 1, menu->entries, &index); - if (cmd) - asprintf(&cmd, "%s.%s", menu->name, cmd); + if (cmd) { + int err; + + err = asprintf(&cmd, "%s.%s", menu->name, cmd); + if (err < 0) + return NULL; + } return cmd; } -- cgit v1.2.1