diff options
| author | Jilles Tjoelker <jilles@FreeBSD.org> | 2011-04-25 10:08:34 +0000 |
|---|---|---|
| committer | Jilles Tjoelker <jilles@FreeBSD.org> | 2011-04-25 10:08:34 +0000 |
| commit | b7b23db5e2ca9a4a7cbadf2f79fa1b0d361dbace (patch) | |
| tree | 417ea9d9aa041f6ee140c8854d7c89e5f9037e68 /bin/sh | |
| parent | bffd599bc9feeb64864ccef7039de4d9d9a1ba7e (diff) | |
Notes
Diffstat (limited to 'bin/sh')
| -rw-r--r-- | bin/sh/options.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/bin/sh/options.c b/bin/sh/options.c index de1f3ff975d6..d44e345fcd73 100644 --- a/bin/sh/options.c +++ b/bin/sh/options.c @@ -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; |
