diff options
| author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-07-05 16:09:32 +0000 |
|---|---|---|
| committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-07-05 16:09:32 +0000 |
| commit | 4f06e43e505742113fc7cec3bfcc31db7ade5dcd (patch) | |
| tree | 82258933d427e54a38477106b221e21bcdd1232e | |
| parent | 42b9b7008e4d14cfd38005f2923cfa33d8dca0de (diff) | |
| download | busybox-w32-4f06e43e505742113fc7cec3bfcc31db7ade5dcd.tar.gz busybox-w32-4f06e43e505742113fc7cec3bfcc31db7ade5dcd.tar.bz2 busybox-w32-4f06e43e505742113fc7cec3bfcc31db7ade5dcd.zip | |
Be extra extra careful about what we dereference.
git-svn-id: svn://busybox.net/trunk/busybox@3004 69ca8d6d-28ef-0310-b511-8ec308f3f277
| -rw-r--r-- | halt.c | 5 | ||||
| -rw-r--r-- | init/halt.c | 5 | ||||
| -rw-r--r-- | init/poweroff.c | 5 | ||||
| -rw-r--r-- | init/reboot.c | 5 | ||||
| -rw-r--r-- | poweroff.c | 5 | ||||
| -rw-r--r-- | reboot.c | 5 |
6 files changed, 24 insertions, 6 deletions
| @@ -28,7 +28,10 @@ extern int halt_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGUSR1)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGUSR1)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGUSR1)); | 36 | return(kill(1, SIGUSR1)); |
| 34 | #endif | 37 | #endif |
diff --git a/init/halt.c b/init/halt.c index e875d04f0..10dcb4225 100644 --- a/init/halt.c +++ b/init/halt.c | |||
| @@ -28,7 +28,10 @@ extern int halt_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGUSR1)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGUSR1)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGUSR1)); | 36 | return(kill(1, SIGUSR1)); |
| 34 | #endif | 37 | #endif |
diff --git a/init/poweroff.c b/init/poweroff.c index 007099d4d..8bb20e9bb 100644 --- a/init/poweroff.c +++ b/init/poweroff.c | |||
| @@ -28,7 +28,10 @@ extern int poweroff_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGUSR2)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGUSR2)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGUSR2)); | 36 | return(kill(1, SIGUSR2)); |
| 34 | #endif | 37 | #endif |
diff --git a/init/reboot.c b/init/reboot.c index 74d2cf643..35c147b34 100644 --- a/init/reboot.c +++ b/init/reboot.c | |||
| @@ -28,7 +28,10 @@ extern int reboot_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGTERM)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGTERM)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGTERM)); | 36 | return(kill(1, SIGTERM)); |
| 34 | #endif | 37 | #endif |
diff --git a/poweroff.c b/poweroff.c index 007099d4d..8bb20e9bb 100644 --- a/poweroff.c +++ b/poweroff.c | |||
| @@ -28,7 +28,10 @@ extern int poweroff_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGUSR2)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGUSR2)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGUSR2)); | 36 | return(kill(1, SIGUSR2)); |
| 34 | #endif | 37 | #endif |
| @@ -28,7 +28,10 @@ extern int reboot_main(int argc, char **argv) | |||
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | 29 | #ifdef BB_FEATURE_LINUXRC |
| 30 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 31 | return(kill(*(find_pid_by_name("init")), SIGTERM)); | 31 | pid_t *pid = find_pid_by_name("init"); |
| 32 | if (!pid || *pid<=0) | ||
| 33 | error_msg_and_die("no process killed"); | ||
| 34 | return(kill(*pid, SIGTERM)); | ||
| 32 | #else | 35 | #else |
| 33 | return(kill(1, SIGTERM)); | 36 | return(kill(1, SIGTERM)); |
| 34 | #endif | 37 | #endif |
