]> granicus.if.org Git - sudo/commitdiff
close fd's <=2 not <=3 and move that chunk of code up
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 6 Feb 1998 00:19:24 +0000 (00:19 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 6 Feb 1998 00:19:24 +0000 (00:19 +0000)
sudo.c

diff --git a/sudo.c b/sudo.c
index f02a4b163ac03c9289d17d5cfe34616718dc25cc..7a1f0ef096beb9d690db5b920124946e570725eb 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -205,6 +205,18 @@ int main(argc, argv)
        exit(1);
     }
 
+    /*
+     * Close all file descriptors to make sure we have a nice
+     * clean slate from which to work.  
+     */
+#ifdef HAVE_SYSCONF
+    for (rtn = sysconf(_SC_OPEN_MAX) - 1; rtn > 2; rtn--)
+       (void) close(rtn);
+#else
+    for (rtn = getdtablesize() - 1; rtn > 2; rtn--)
+       (void) close(rtn);
+#endif /* HAVE_SYSCONF */
+
     /*
      * set the prompt based on $SUDO_PROMPT (can be overridden by `-p')
      */
@@ -241,18 +253,6 @@ int main(argc, argv)
     if (cmnd == NULL && NewArgc == 0 && !(sudo_mode & MODE_SHELL))
        usage(1);
 
-    /*
-     * Close all file descriptors to make sure we have a nice
-     * clean slate from which to work.  
-     */
-#ifdef HAVE_SYSCONF
-    for (rtn = sysconf(_SC_OPEN_MAX) - 1; rtn > 3; rtn--)
-       (void) close(rtn);
-#else
-    for (rtn = getdtablesize() - 1; rtn > 3; rtn--)
-       (void) close(rtn);
-#endif /* HAVE_SYSCONF */
-
     clean_env(environ, badenv_table);
 
     load_globals(sudo_mode);   /* load global variables used throughout sudo */