]> granicus.if.org Git - sudo/commitdiff
Only OR in MODE_RESET_HOME if MODE_RUN is set.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 15 Jan 2002 20:39:59 +0000 (20:39 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 15 Jan 2002 20:39:59 +0000 (20:39 +0000)
Fixes a problem where "sudo -l" would not work if always_set_home was set.

sudo.c

diff --git a/sudo.c b/sudo.c
index bb4abbf9c4abb2394fce934b603b6bf23b858dda..b4578cf364afd9c62b1b599284498b5246e6ac73 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -312,9 +312,9 @@ main(argc, argv, envp)
     if ((sudo_mode & MODE_IMPLIED_SHELL) && !def_flag(I_SHELL_NOARGS))
        usage(1);
 
-    /* May need to set $HOME to target user. */
-    if (def_flag(I_ALWAYS_SET_HOME) ||
-       ((sudo_mode & MODE_SHELL) && def_flag(I_SET_HOME)))
+    /* May need to set $HOME to target user if we are running a command. */
+    if ((sudo_mode & MODE_RUN) && (def_flag(I_ALWAYS_SET_HOME) ||
+       ((sudo_mode & MODE_SHELL) && def_flag(I_SET_HOME))))
        sudo_mode |= MODE_RESET_HOME;
 
     /* Bail if a tty is required and we don't have one.  */