X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/23a0d1e200c7f23c4d8ca236f807c253a666009a..554dc122f271fc361b963067fa3d80084fd7ca91:/clientserver.c diff --git a/clientserver.c b/clientserver.c index fe7cff92..a7996c7f 100644 --- a/clientserver.c +++ b/clientserver.c @@ -613,6 +613,11 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char } module_dir = lp_path(i); + if (*module_dir == '\0') { + rprintf(FLOG, "No path specified for module %s\n", name); + io_printf(f_out, "@ERROR: no path setting.\n"); + return -1; + } if (use_chroot) { if ((p = strstr(module_dir, "/./")) != NULL) { *p = '\0'; /* Temporary... */ @@ -809,7 +814,11 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char } if (set_uid) { - if (setuid(uid) || seteuid(uid)) { + if (setuid(uid) < 0 +#ifdef HAVE_SETEUID + || seteuid(uid) < 0 +#endif + ) { rsyserr(FLOG, errno, "setuid %ld failed", (long)uid); io_printf(f_out, "@ERROR: setuid failed\n"); return -1;