diff options
Diffstat (limited to 'uidswap.c')
-rw-r--r-- | uidswap.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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) { |