Call seteuid() when calling setuid().
[rsync/rsync.git] / clientserver.c
index f2751a4..eeaf8e1 100644 (file)
@@ -801,7 +801,7 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
        }
 
        if (set_uid) {
-               if (setuid(uid)) {
+               if (setuid(uid) || seteuid(uid)) {
                        rsyserr(FLOG, errno, "setuid %ld failed", (long)uid);
                        io_printf(f_out, "@ERROR: setuid failed\n");
                        return -1;