From bfb4b38cffed5cebe1617386befae7a5980df87c Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 18 Oct 2013 16:22:24 +0100 Subject: [PATCH] If we are preserving the environment use SHELL instead of pw->pw_shell --- su.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/su.c b/su.c index 1218a13..94ead18 100644 --- a/su.c +++ b/su.c @@ -112,7 +112,8 @@ main(int argc, char **argv) setenv("LOGNAME", pw->pw_name, 1); } } - execve(pw->pw_shell, newargv, environ); + execve(pflag ? getenv("SHELL") : pw->pw_shell, + newargv, environ); } return (errno == ENOENT) ? 127 : 126; }