*: make exec failure message more consistent

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2010-06-25 01:46:53 +02:00
parent 2b46fd49b1
commit 41ddd9f606
24 changed files with 40 additions and 40 deletions

View File

@ -98,7 +98,7 @@ static NOINLINE void vfork_child(char **argv)
//bb_error_msg("VT's sid %d", tcgetsid(0)); //bb_error_msg("VT's sid %d", tcgetsid(0));
//bb_error_msg("VT's pgrp %d", tcgetpgrp(0)); //bb_error_msg("VT's pgrp %d", tcgetpgrp(0));
BB_EXECVP(argv[0], argv); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("exec %s", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
} }

View File

@ -30,6 +30,6 @@ int chroot_main(int argc UNUSED_PARAM, char **argv)
argv[1] = (char *) "-i"; argv[1] = (char *) "-i";
} }
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", *argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -76,11 +76,11 @@ int env_main(int argc UNUSED_PARAM, char **argv)
++argv; ++argv;
} }
if (*argv) { if (argv[0]) {
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
/* SUSv3-mandated exit codes. */ /* SUSv3-mandated exit codes. */
xfunc_error_retval = (errno == ENOENT) ? 127 : 126; xfunc_error_retval = (errno == ENOENT) ? 127 : 126;
bb_simple_perror_msg_and_die(*argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
if (environ) { /* clearenv() may set environ == NULL! */ if (environ) { /* clearenv() may set environ == NULL! */

View File

@ -47,9 +47,8 @@ int nice_main(int argc, char **argv)
} }
} }
BB_EXECVP(*argv, argv); /* Now exec the desired program. */ BB_EXECVP(argv[0], argv);
/* The exec failed... */ /* The exec failed... */
xfunc_error_retval = (errno == ENOENT) ? 127 : 126; /* SUSv3 */ xfunc_error_retval = (errno == ENOENT) ? 127 : 126; /* SUSv3 */
bb_simple_perror_msg_and_die(*argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -75,6 +75,7 @@ int nohup_main(int argc UNUSED_PARAM, char **argv)
signal(SIGHUP, SIG_IGN); signal(SIGHUP, SIG_IGN);
BB_EXECVP(argv[1], argv+1); argv++;
bb_simple_perror_msg_and_die(argv[1]); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -448,5 +448,5 @@ int start_stop_daemon_main(int argc UNUSED_PARAM, char **argv)
} }
#endif #endif
execvp(startas, argv); execvp(startas, argv);
bb_perror_msg_and_die("can't start %s", startas); bb_perror_msg_and_die("can't execute '%s'", startas);
} }

View File

@ -86,5 +86,5 @@ void FAST_FUNC run_shell(const char *shell, int loginshell, const char *command,
freecon(current_sid); freecon(current_sid);
#endif #endif
execv(shell, (char **) args); execv(shell, (char **) args);
bb_perror_msg_and_die("can't run '%s'", shell); bb_perror_msg_and_die("can't execute '%s'", shell);
} }

View File

@ -249,7 +249,7 @@ void FAST_FUNC re_exec(char **argv)
* "we have (already) re-execed, don't do it again" flag */ * "we have (already) re-execed, don't do it again" flag */
argv[0][0] |= 0x80; argv[0][0] |= 0x80;
execv(bb_busybox_exec_path, argv); execv(bb_busybox_exec_path, argv);
bb_perror_msg_and_die("exec %s", bb_busybox_exec_path); bb_perror_msg_and_die("can't execute '%s'", bb_busybox_exec_path);
} }
pid_t FAST_FUNC fork_or_rexec(char **argv) pid_t FAST_FUNC fork_or_rexec(char **argv)

View File

@ -67,8 +67,8 @@ void FAST_FUNC launch_helper(const char **argv)
if (!G.helper_pid) { if (!G.helper_pid) {
// child: try to execute connection helper // child: try to execute connection helper
// NB: SIGCHLD & SIGALRM revert to SIG_DFL on exec // NB: SIGCHLD & SIGALRM revert to SIG_DFL on exec
BB_EXECVP(*argv, (char **)argv); BB_EXECVP(argv[0], (char **)argv);
_exit(127); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
// parent // parent

View File

@ -288,8 +288,8 @@ static int parse(const char *boundary, char **argv)
xsetenv("CHARSET", charset); xsetenv("CHARSET", charset);
xsetenv("ENCODING", encoding); xsetenv("ENCODING", encoding);
xsetenv("FILENAME", filename); xsetenv("FILENAME", filename);
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
_exit(EXIT_FAILURE); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
// parent dumps to fd[1] // parent dumps to fd[1]
close(fd[0]); close(fd[0]);

View File

@ -115,9 +115,9 @@ int chrt_main(int argc UNUSED_PARAM, char **argv)
if (sched_setscheduler(pid, policy, &sp) < 0) if (sched_setscheduler(pid, policy, &sp) < 0)
bb_perror_msg_and_die("can't %cet pid %d's policy", 's', pid); bb_perror_msg_and_die("can't %cet pid %d's policy", 's', pid);
if (!*argv) /* "-p <priority> <pid> [...]" */ if (!argv[0]) /* "-p <priority> <pid> [...]" */
goto print_rt_info; goto print_rt_info;
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
bb_simple_perror_msg_and_die(*argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -89,9 +89,9 @@ int ionice_main(int argc UNUSED_PARAM, char **argv)
pri |= (ioclass << IOPRIO_CLASS_SHIFT); pri |= (ioclass << IOPRIO_CLASS_SHIFT);
if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1) if (ioprio_set(IOPRIO_WHO_PROCESS, pid, pri) == -1)
bb_perror_msg_and_die("ioprio_%cet", 's'); bb_perror_msg_and_die("ioprio_%cet", 's');
if (*argv) { if (argv[0]) {
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
bb_simple_perror_msg_and_die(*argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
} }

View File

@ -44,6 +44,7 @@ int setsid_main(int argc UNUSED_PARAM, char **argv)
setsid(); setsid();
} }
BB_EXECVP(argv[1], argv + 1); argv++;
bb_simple_perror_msg_and_die(argv[1]); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -129,9 +129,9 @@ int taskset_main(int argc UNUSED_PARAM, char **argv)
if (sched_setaffinity(pid, sizeof(mask), &mask)) if (sched_setaffinity(pid, sizeof(mask), &mask))
bb_perror_msg_and_die("can't %cet pid %d's affinity", 's', pid); bb_perror_msg_and_die("can't %cet pid %d's affinity", 's', pid);
if (!*argv) /* "-p <aff> <pid> [...ignored...]" */ if (!argv[0]) /* "-p <aff> <pid> [...ignored...]" */
goto print_aff; /* print new affinity and exit */ goto print_aff; /* print new affinity and exit */
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
bb_simple_perror_msg_and_die(*argv); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -380,7 +380,7 @@ static void run_command(char *const *cmd, resource_t *resp)
versus merely warnings if the cast is left off. */ versus merely warnings if the cast is left off. */
BB_EXECVP(cmd[0], cmd); BB_EXECVP(cmd[0], cmd);
xfunc_error_retval = (errno == ENOENT ? 127 : 126); xfunc_error_retval = (errno == ENOENT ? 127 : 126);
bb_error_msg_and_die("can't run '%s'", cmd[0]); bb_perror_msg_and_die("can't execute '%s'", cmd[0]);
} }
/* Have signals kill the child but not self (if possible). */ /* Have signals kill the child but not self (if possible). */

View File

@ -111,5 +111,5 @@ int timeout_main(int argc UNUSED_PARAM, char **argv)
argv[1] = sv2; argv[1] = sv2;
#endif #endif
BB_EXECVP(argv[0], argv); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("exec '%s'", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -1474,7 +1474,7 @@ static void send_cgi_and_exit(
* in the current directory */ * in the current directory */
execv(argv[0], argv); execv(argv[0], argv);
if (verbose) if (verbose)
bb_perror_msg("exec %s", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
error_execing_cgi: error_execing_cgi:
/* send to stdout /* send to stdout
* (we are CGI here, our stdout is pumped to the net) */ * (we are CGI here, our stdout is pumped to the net) */

View File

@ -1053,7 +1053,7 @@ static int popen2(FILE **in, FILE **out, char *command, char *param)
xmove_fd(infd.rd, 0); xmove_fd(infd.rd, 0);
xmove_fd(outfd.wr, 1); xmove_fd(outfd.wr, 1);
BB_EXECVP(command, argv); BB_EXECVP(command, argv);
_exit(127); bb_perror_msg_and_die("can't execute '%s'", command);
} }
/* parent */ /* parent */
close(infd.rd); close(infd.rd);

View File

@ -1380,7 +1380,7 @@ int inetd_main(int argc UNUSED_PARAM, char **argv)
sigaction_set(SIGPIPE, &saved_pipe_handler); sigaction_set(SIGPIPE, &saved_pipe_handler);
restore_sigmask(&omask); restore_sigmask(&omask);
BB_EXECVP(sep->se_program, sep->se_argv); BB_EXECVP(sep->se_program, sep->se_argv);
bb_perror_msg("exec %s", sep->se_program); bb_perror_msg_and_die("can't execute '%s'", sep->se_program);
do_exit1: do_exit1:
/* eat packet in udp case */ /* eat packet in udp case */
if (sep->se_socktype != SOCK_STREAM) if (sep->se_socktype != SOCK_STREAM)

View File

@ -230,7 +230,7 @@ static int doexec(char **proggie)
/* dup2(0, 2); - do we *really* want this? NO! /* dup2(0, 2); - do we *really* want this? NO!
* exec'ed prog can do it yourself, if needed */ * exec'ed prog can do it yourself, if needed */
execvp(proggie[0], proggie); execvp(proggie[0], proggie);
bb_perror_msg_and_die("exec"); bb_perror_msg_and_die("can't execute '%s'", proggie[0]);
} }
/* connect_w_timeout: /* connect_w_timeout:

View File

@ -504,7 +504,7 @@ int tcpudpsvd_main(int argc UNUSED_PARAM, char **argv)
#else #else
BB_EXECVP(argv[0], argv); BB_EXECVP(argv[0], argv);
#endif #endif
bb_perror_msg_and_die("exec '%s'", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
/* /*

View File

@ -181,8 +181,8 @@ int lpd_main(int argc UNUSED_PARAM, char *argv[])
// this call reopens stdio fds to "/dev/null" // this call reopens stdio fds to "/dev/null"
// (no daemonization is done) // (no daemonization is done)
bb_daemonize_or_rexec(DAEMON_DEVNULL_STDIO | DAEMON_ONLY_SANITIZE, NULL); bb_daemonize_or_rexec(DAEMON_DEVNULL_STDIO | DAEMON_ONLY_SANITIZE, NULL);
BB_EXECVP(*argv, argv); BB_EXECVP(argv[0], argv);
exit(127); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }
// validate input. // validate input.

View File

@ -383,5 +383,5 @@ int chpst_main(int argc UNUSED_PARAM, char **argv)
close(STDERR_FILENO); close(STDERR_FILENO);
BB_EXECVP(argv[0], argv); BB_EXECVP(argv[0], argv);
bb_perror_msg_and_die("exec %s", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }

View File

@ -133,6 +133,5 @@ int runcon_main(int argc UNUSED_PARAM, char **argv)
context_str(con)); context_str(con));
execvp(argv[0], argv); execvp(argv[0], argv);
bb_perror_msg_and_die("can't execute '%s'", argv[0]); bb_perror_msg_and_die("can't execute '%s'", argv[0]);
} }