commit bfb4b38cffed5cebe1617386befae7a5980df87c
Author: sin <s...@2f30.org>
Date:   Fri Oct 18 16:22:24 2013 +0100

    If we are preserving the environment use SHELL instead of pw->pw_shell

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;
 }


Reply via email to