]> granicus.if.org Git - sudo/commitdiff
ok, the getcwd() is now *really* done as the user
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 24 May 1994 21:44:50 +0000 (21:44 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 24 May 1994 21:44:50 +0000 (21:44 +0000)
sudo.c

diff --git a/sudo.c b/sudo.c
index 78a6346709cdcea099acdbfbd72e0e8d644658d3..42dfee7f6aa2ae3d6318cb2d16920bf000ec8b44 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -145,17 +145,10 @@ main(argc, argv)
        (void) close(rtn);
 #endif /* HAVE_SYSCONF */
 
-    load_globals();            /* load the user host cmnd and uid variables */
-
-    /*
-     * We only want to be root when we absolutely need it.
-     * This will effectively do setreuid(0, uid) but for portability...
-     */
-    be_root();
-    be_user();
-
     clean_env(environ);                /* clean up the environment (no LD_*) */
 
+    load_globals();            /* load the user host cmnd and uid variables */
+
     rtn = validate();
     switch (rtn) {
 
@@ -203,6 +196,13 @@ static void load_globals()
 
     uid = getuid();            /* we need to tuck this away for safe keeping */
 
+    /*
+     * We only want to be root when we absolutely need it.
+     * This will effectively do setreuid(0, uid) but for portability...
+     */
+    be_root();
+    be_user();
+
 #ifdef UMASK
     (void) umask((mode_t)UMASK);
 #endif /* UMASK */