X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/088aac85971f3f1571c7f90569c95d5025b1fd82..6aaf8d8c1041b524d985bf09b9a3f5e371cf8ac2:/log.c diff --git a/log.c b/log.c index f07b64b1..411889c1 100644 --- a/log.c +++ b/log.c @@ -237,7 +237,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 +346,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);