Author: jilles
Date: Mon Apr 25 10:08:34 2011
New Revision: 221011
URL: http://svn.freebsd.org/changeset/base/221011

Log:
  sh: Remove duplicate code resetting uid/gid for set +p/+o privileged.
  
  MFC after:    1 week

Modified:
  head/bin/sh/options.c

Modified: head/bin/sh/options.c
==============================================================================
--- head/bin/sh/options.c       Mon Apr 25 09:18:05 2011        (r221010)
+++ head/bin/sh/options.c       Mon Apr 25 10:08:34 2011        (r221011)
@@ -198,13 +198,8 @@ options(int cmdline)
                                minus_o(*argptr, val);
                                if (*argptr)
                                        argptr++;
-                       } else {
-                               if (c == 'p' && !val && privileged) {
-                                       (void) setuid(getuid());
-                                       (void) setgid(getgid());
-                               }
+                       } else
                                setoption(c, val);
-                       }
                }
        }
        return;
@@ -271,10 +266,6 @@ minus_o(char *name, int val)
        } else {
                for (i = 0; i < NOPTS; i++)
                        if (equal(name, optlist[i].name)) {
-                               if (!val && privileged && equal(name, 
"privileged")) {
-                                       (void) setuid(getuid());
-                                       (void) setgid(getgid());
-                               }
                                setoption(optlist[i].letter, val);
                                return;
                        }
@@ -288,6 +279,10 @@ setoption(int flag, int val)
 {
        int i;
 
+       if (flag == 'p' && !val && privileged) {
+               (void) setuid(getuid());
+               (void) setgid(getgid());
+       }
        for (i = 0; i < NOPTS; i++)
                if (optlist[i].letter == flag) {
                        optlist[i].val = val;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to