X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/088aac85971f3f1571c7f90569c95d5025b1fd82..734a94a20c7ee4bd787eb434d21d8be1f24f7774:/log.c diff --git a/log.c b/log.c index f07b64b1..e79bc220 100644 --- a/log.c +++ b/log.c @@ -30,6 +30,7 @@ static char *logfname; static FILE *logfile; static int log_error_fd = -1; +struct stats stats; int log_got_error=0; @@ -237,7 +238,11 @@ void rwrite(enum logcode code, char *buf, int len) return; } - /* if that fails, try to pass it to the other end */ + /* If that fails, try to pass it to the other end. + * + * io_multiplex_write can fail if we do not have a multiplexed + * connection at the moment, in which case we fall through and + * log locally instead. */ if (am_server && io_multiplex_write(code, buf, len)) { return; } @@ -342,6 +347,8 @@ void rsyserr(enum logcode code, int errcode, const char *format, ...) len = vsnprintf(buf, sizeof(buf), format, ap); va_end(ap); + /* TODO: Put in RSYNC_NAME at the start. */ + if ((size_t) len > sizeof(buf)-1) exit_cleanup(RERR_MESSAGEIO);