diff options
Diffstat (limited to 'uidswap.c')
-rw-r--r-- | uidswap.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -12,7 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include "includes.h" | 14 | #include "includes.h" |
15 | RCSID("$OpenBSD: uidswap.c,v 1.16 2001/04/20 16:32:22 markus Exp $"); | 15 | RCSID("$OpenBSD: uidswap.c,v 1.17 2001/08/08 18:20:15 markus Exp $"); |
16 | 16 | ||
17 | #include "log.h" | 17 | #include "log.h" |
18 | #include "uidswap.h" | 18 | #include "uidswap.h" |
@@ -145,6 +145,9 @@ restore_uid(void) | |||
145 | void | 145 | void |
146 | permanently_set_uid(struct passwd *pw) | 146 | permanently_set_uid(struct passwd *pw) |
147 | { | 147 | { |
148 | /* it's a no-op unless privileged */ | ||
149 | if (!privileged) | ||
150 | return; | ||
148 | if (temporarily_use_uid_effective) | 151 | if (temporarily_use_uid_effective) |
149 | fatal("restore_uid: temporarily_use_uid effective"); | 152 | fatal("restore_uid: temporarily_use_uid effective"); |
150 | if (setgid(pw->pw_gid) < 0) | 153 | if (setgid(pw->pw_gid) < 0) |