From 3f216cc2be0a1c9982dabbcfb4141b969099b4ec Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sat, 12 Jul 2014 06:51:00 -0600 Subject: [PATCH] When running a login shell via sesh, make new argv[0] -shell, not /path/to-shell. RedHat bz #1065418 --- src/sesh.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sesh.c b/src/sesh.c index 95ee72574..86d8c0962 100644 --- a/src/sesh.c +++ b/src/sesh.c @@ -74,12 +74,12 @@ main(int argc, char *argv[], char *envp[]) /* If invoked as a login shell, modify argv[0] accordingly. */ if (login_shell) { - if ((cp = strrchr(argv[0], '/')) == NULL) - cp = argv[0]; - *cp = '-'; + if ((cp = strrchr(argv[0], '/')) != NULL) + argv[0] = cp; + argv[0][0] = '-'; } sudo_execve(cmnd, argv, envp, noexec); - sudo_warn(U_("unable to execute %s"), argv[0]); + sudo_warn(U_("unable to execute %s"), cmnd); sudo_debug_exit_int(__func__, __FILE__, __LINE__, sudo_debug_subsys, EXIT_FAILURE); _exit(EXIT_FAILURE); }