[PATCH v3 05/27] getty: change BB_EXECLP call to BB_EXECVP
Nadav Tasher
tashernadav at gmail.com
Mon Jan 27 00:04:16 UTC 2025
Allows for more control over executed processes,
reduces code duplication by using BB_EXECVP_or_die.
Signed-off-by: Nadav Tasher <tashernadav at 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
More information about the busybox
mailing list