Allows for more control over executed processes,
reduces code duplication by using BB_EXECVP_or_die.

Signed-off-by: Nadav Tasher <tasherna...@gmail.com>
---
 loginutils/getty.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/loginutils/getty.c b/loginutils/getty.c
index 4581cc9f7..f5ed2c85c 100644
--- a/loginutils/getty.c
+++ b/loginutils/getty.c
@@ -552,6 +552,7 @@ int getty_main(int argc UNUSED_PARAM, char **argv)
        int n;
        pid_t pid, tsid;
        char *logname;
+       char* login_argv[4];
 
        INIT_G();
        G.login = _PATH_LOGIN;    /* default login program */
@@ -732,6 +733,9 @@ int getty_main(int argc UNUSED_PARAM, char **argv)
        /* We use PATH because we trust that root doesn't set "bad" PATH,
         * and getty is not suid-root applet */
        /* With -n, logname == NULL, and login will ask for username instead */
-       BB_EXECLP(G.login, G.login, "--", logname, (char *)0);
-       bb_error_msg_and_die("can't execute '%s'", G.login);
+       login_argv[0] = (char *) G.login;
+       login_argv[1] = (char *) "--";
+       login_argv[2] = (char *) logname;
+       login_argv[3] = NULL;
+       BB_EXECVP_or_die(login_argv);
 }
-- 
2.43.0

_______________________________________________
busybox mailing list
busybox@busybox.net
https://lists.busybox.net/mailman/listinfo/busybox

Reply via email to