From 9a6ed83f2c4a455b19b49824d86f5308b45f5c88 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Wed, 9 Mar 2005 18:54:02 +0000 Subject: [PATCH] - Made an overflow in read_vstring() return an error instead of dying. - Got rid of a flush kluge that was needed for the name-pipe. --- io.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/io.c b/io.c index 16500731..2321666d 100644 --- a/io.c +++ b/io.c @@ -888,7 +888,7 @@ int read_vstring(int f, char *buf, int bufsize) if (len >= bufsize) { rprintf(FERROR, "over-long vstring received (%d > %d)\n", len, bufsize - 1); - exit_cleanup(RERR_PROTOCOL); + return -1; } if (len) @@ -1045,14 +1045,8 @@ static void writefd_unbuffered(int fd,char *buf,size_t len) if (msg_fd_in >= 0 && FD_ISSET(msg_fd_in, &r_fds)) read_msg_fd(); - if (!FD_ISSET(fd, &w_fds)) { - if (fd != sock_f_out && iobuf_out_cnt) { - no_flush--; - io_flush(NORMAL_FLUSH); - no_flush++; - } + if (!FD_ISSET(fd, &w_fds)) continue; - } n = len - total; if (bwlimit && n > bwlimit_writemax) -- 2.34.1