Blob Blame History Raw
diff -up sudo-1.8.6p7/plugins/sudoers/sudoers.c.closefrom-override-fix sudo-1.8.6p7/plugins/sudoers/sudoers.c
--- sudo-1.8.6p7/plugins/sudoers/sudoers.c.closefrom-override-fix	2016-02-15 10:31:11.694164366 +0100
+++ sudo-1.8.6p7/plugins/sudoers/sudoers.c	2016-02-15 10:33:47.711362062 +0100
@@ -336,15 +336,6 @@ sudoers_policy_main(int argc, char * con
         goto bad;
     }    
 
-    /* Check for -C overriding def_closefrom. */
-    if (user_closefrom >= 0 && user_closefrom != def_closefrom) {
-	if (!def_closefrom_override) {
-	    warningx(_("you are not permitted to use the -C option"));
-	    goto bad;
-	}
-	def_closefrom = user_closefrom;
-    }
-
     set_perms(PERM_INITIAL);
 
     /* Environment variables specified on the command line. */
@@ -374,8 +365,17 @@ sudoers_policy_main(int argc, char * con
     if (ISSET(sudo_mode, MODE_PRESERVE_GROUPS))
 	def_preserve_groups = true;
 
-    /* Find command in path */
+    /* Find command in path and apply per-command Defaults. */
     cmnd_status = set_cmnd();
+ 
+    /* Check for -C overriding def_closefrom. */
+    if (user_closefrom >= 0 && user_closefrom != def_closefrom) {
+	if (!def_closefrom_override) {
+	    warningx(_("you are not permitted to use the -C option"));
+	    goto bad;
+	}
+	def_closefrom = user_closefrom;
+    } 
 
 #ifdef HAVE_SETLOCALE
     if (!setlocale(LC_ALL, def_sudoers_locale)) {