[U-Boot] [PATCH] x86: zImage: avoid potential NULL dereference
Heinrich Schuchardt
xypron.glpk at gmx.de
Sat Apr 15 13:58:55 UTC 2017
If bootargs is not assigned getenv("bootargs") will
return NULL.
Some part of the code is checking for this condition.
Other parts dereference a possible NULL pointer.
The problem was indicated by cppcheck.
Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
arch/x86/lib/zimage.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index aafbeb01f9..9b564340a6 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -48,12 +48,14 @@ static void build_command_line(char *command_line, int auto_boot)
command_line[0] = '\0';
- env_command_line = getenv("bootargs");
+ env_command_line = getenv("bootargs");
+
+ if (!env_command_line)
+ env_command_line = "";
/* set console= argument if we use a serial console */
if (!strstr(env_command_line, "console=")) {
if (!strcmp(getenv("stdout"), "serial")) {
-
/* We seem to use serial console */
sprintf(command_line, "console=ttyS0,%s ",
getenv("baudrate"));
@@ -63,8 +65,7 @@ static void build_command_line(char *command_line, int auto_boot)
if (auto_boot)
strcat(command_line, "auto ");
- if (env_command_line)
- strcat(command_line, env_command_line);
+ strcat(command_line, env_command_line);
printf("Kernel command line: \"%s\"\n", command_line);
}
--
2.11.0
More information about the U-Boot
mailing list