summaryrefslogtreecommitdiff
path: root/uidswap.c
diff options
context:
space:
mode:
Diffstat (limited to 'uidswap.c')
-rw-r--r--uidswap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/uidswap.c b/uidswap.c
index 3f13f9bf4..9e161d0f0 100644
--- a/uidswap.c
+++ b/uidswap.c
@@ -191,10 +191,12 @@ permanently_set_uid(struct passwd *pw)
191 (u_int)pw->pw_gid); 191 (u_int)pw->pw_gid);
192 } 192 }
193 193
194#ifndef HAVE_CYGWIN
194 /* Try restoration of UID if changed (test clearing of saved uid) */ 195 /* Try restoration of UID if changed (test clearing of saved uid) */
195 if (old_uid != pw->pw_uid && 196 if (old_uid != pw->pw_uid &&
196 (setuid(old_uid) != -1 || seteuid(old_uid) != -1)) 197 (setuid(old_uid) != -1 || seteuid(old_uid) != -1))
197 fatal("%s: was able to restore old [e]uid", __func__); 198 fatal("%s: was able to restore old [e]uid", __func__);
199#endif
198 200
199 /* Verify UID drop was successful */ 201 /* Verify UID drop was successful */
200 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) { 202 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) {