Messages in this thread Patch in this message | | | Subject | [PATCH] init: Fix possible format string bug. | From | Tetsuo Handa <> | Date | Thu, 9 Jan 2014 22:12:01 +0900 |
| |
>From 8c8032d179af2aa3841c37d72c18002cd0ba7448 Mon Sep 17 00:00:00 2001 From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Date: Thu, 9 Jan 2014 21:57:53 +0900 Subject: [PATCH] init: Fix possible format string bug.
Use constant format string in case message changes.
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> --- init/initramfs.c | 2 +- init/main.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/init/initramfs.c b/init/initramfs.c index a67ef9d..93b6139 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -583,7 +583,7 @@ static int __init populate_rootfs(void) { char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size); if (err) - panic(err); /* Failed to decompress INTERNAL initramfs */ + panic("%s", err); /* Failed to decompress INTERNAL initramfs */ if (initrd_start) { #ifdef CONFIG_BLK_DEV_RAM int fd; diff --git a/init/main.c b/init/main.c index 98e3537..f333385 100644 --- a/init/main.c +++ b/init/main.c @@ -278,7 +278,7 @@ static int __init unknown_bootoption(char *param, char *val, const char *unused) unsigned int i; for (i = 0; envp_init[i]; i++) { if (i == MAX_INIT_ENVS) { - panic_later = "Too many boot env vars at `%s'"; + panic_later = "env"; panic_param = param; } if (!strncmp(param, envp_init[i], val - param)) @@ -290,7 +290,7 @@ static int __init unknown_bootoption(char *param, char *val, const char *unused) unsigned int i; for (i = 0; argv_init[i]; i++) { if (i == MAX_INIT_ARGS) { - panic_later = "Too many boot init vars at `%s'"; + panic_later = "init"; panic_param = param; } } @@ -582,7 +582,8 @@ asmlinkage void __init start_kernel(void) */ console_init(); if (panic_later) - panic(panic_later, panic_param); + panic("Too many boot %s vars at `%s'", panic_later, + panic_param); lockdep_info(); -- 1.7.1
| |