Be extra extra careful about what we dereference.

This commit is contained in:
Eric Andersen 2001-07-05 16:09:32 +00:00
parent d50a61956c
commit 332394b577
6 changed files with 24 additions and 6 deletions

5
halt.c
View File

@ -28,7 +28,10 @@ extern int halt_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGUSR1));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGUSR1));
#else
return(kill(1, SIGUSR1));
#endif

View File

@ -28,7 +28,10 @@ extern int halt_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGUSR1));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGUSR1));
#else
return(kill(1, SIGUSR1));
#endif

View File

@ -28,7 +28,10 @@ extern int poweroff_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGUSR2));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGUSR2));
#else
return(kill(1, SIGUSR2));
#endif

View File

@ -28,7 +28,10 @@ extern int reboot_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGTERM));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGTERM));
#else
return(kill(1, SIGTERM));
#endif

View File

@ -28,7 +28,10 @@ extern int poweroff_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGUSR2));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGUSR2));
#else
return(kill(1, SIGUSR2));
#endif

View File

@ -28,7 +28,10 @@ extern int reboot_main(int argc, char **argv)
{
#ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */
return(kill(*(find_pid_by_name("init")), SIGTERM));
pid_t *pid = find_pid_by_name("init");
if (!pid || *pid<=0)
error_msg_and_die("no process killed");
return(kill(*pid, SIGTERM));
#else
return(kill(1, SIGTERM));
#endif