]> granicus.if.org Git - sudo/commitdiff
moved set_perms(PERM_ROOT) to be before yyparse()
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 25 Jun 1996 22:02:22 +0000 (22:02 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 25 Jun 1996 22:02:22 +0000 (22:02 +0000)
parse.c

diff --git a/parse.c b/parse.c
index eb1031359f10e52e4b68970605d5d4c9e831843a..bc21cf80484ee238825470f5aa98997cc5e84196 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -118,6 +118,10 @@ int validate(check_cmnd)
     yyin = sudoers_fp;
     yyout = stdout;
 
+    /*
+     * need to be root while stat'ing things in the parser.
+     */
+    set_perms(PERM_ROOT);
     return_code = yyparse();
 
     /*
@@ -126,7 +130,6 @@ int validate(check_cmnd)
     (void) fclose(sudoers_fp);
 
     /* relinquish extra privs */
-    set_perms(PERM_ROOT);
     set_perms(PERM_USER);
 
     if (return_code || parse_error)