summaryrefslogtreecommitdiffstats
path: root/src/appl/gssftp/ftpd/ftpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/appl/gssftp/ftpd/ftpd.c')
-rw-r--r--src/appl/gssftp/ftpd/ftpd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c
index f880734a5..d4987affc 100644
--- a/src/appl/gssftp/ftpd/ftpd.c
+++ b/src/appl/gssftp/ftpd/ftpd.c
@@ -1093,7 +1093,8 @@ login(passwd)
* set the login uid. If this fails this opens up a problem on DEC OSF
* with C2 enabled.
*/
- if (setluid((uid_t)pw->pw_uid) < 0) {
+ if (((uid_t)getluid() != pw->pw_uid)
+ && setluid((uid_t)pw->pw_uid) < 0) {
reply(550, "Can't set luid.");
goto bad;
}