]> granicus.if.org Git - sudo/commitdiff
fix "sudo -s" broken by mode/flags breakout
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 7 Apr 2008 18:39:05 +0000 (18:39 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 7 Apr 2008 18:39:05 +0000 (18:39 +0000)
sudo.c

diff --git a/sudo.c b/sudo.c
index ea156af268970f9c51e25268a1cd991b3385f6b0..58c8c7749c001cc15c65173d4c1d5bddcbc5c280 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -996,7 +996,7 @@ parse_args(argc, argv)
     if ((NewArgc == 0 && mode == MODE_EDIT) ||
        (NewArgc > 0 && !ISSET(mode, MODE_RUN | MODE_EDIT | MODE_CHECK)))
        usage(1);
-    if (NewArgc == 0 && mode == MODE_RUN)
+    if (NewArgc == 0 && mode == MODE_RUN && !ISSET(flags, MODE_SHELL))
        SET(flags, (MODE_IMPLIED_SHELL | MODE_SHELL));
 
     return(mode | flags);