File rdist-6.1.5-mkstemp.patch of Package rdist
--- rdist-6.1.5/src/server.c
+++ rdist-6.1.5/src/server.c
@@ -1479,11 +1479,18 @@
*file = '/';
}
fd = mkstemp(new);
- if (fd < 0) {
+ /*
+ * Don't consider it a fatal error if mkstemp() fails
+ * because parent directory didn't exist. (Missing
+ * parents are created later (in recvfile())
+ */
+ if ((fd < 0) && (errno != ENOENT)) {
error("Cannot set file name.");
return;
+ } else if (fd >= 0) {
+ close(fd);
+ unlink(new); /* Or symlink() will fail */
}
- close(fd);
}
/*