Loading changes/bug23690_additional_032 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor features (robustness): - Change several fatal assertions when flushing buffers into non-fatal assertions, to prevent any recurrence of 23690. src/common/buffers.c +6 −2 Original line number Diff line number Diff line Loading @@ -648,8 +648,12 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, size_t flushed = 0; tor_assert(buf_flushlen); tor_assert(SOCKET_OK(s)); tor_assert(*buf_flushlen <= buf->datalen); tor_assert(sz <= *buf_flushlen); if (BUG(*buf_flushlen > buf->datalen)) { *buf_flushlen = buf->datalen; } if (BUG(sz > *buf_flushlen)) { sz = *buf_flushlen; } check(); while (sz) { Loading src/common/buffers_tls.c +6 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,12 @@ buf_flush_to_tls(buf_t *buf, tor_tls_t *tls, size_t flushlen, size_t flushed = 0; ssize_t sz; tor_assert(buf_flushlen); tor_assert(*buf_flushlen <= buf->datalen); tor_assert(flushlen <= *buf_flushlen); if (BUG(*buf_flushlen > buf->datalen)) { *buf_flushlen = buf->datalen; } if (BUG(flushlen > *buf_flushlen)) { flushlen = *buf_flushlen; } sz = (ssize_t) flushlen; /* we want to let tls write even if flushlen is zero, because it might Loading Loading
changes/bug23690_additional_032 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor features (robustness): - Change several fatal assertions when flushing buffers into non-fatal assertions, to prevent any recurrence of 23690.
src/common/buffers.c +6 −2 Original line number Diff line number Diff line Loading @@ -648,8 +648,12 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, size_t flushed = 0; tor_assert(buf_flushlen); tor_assert(SOCKET_OK(s)); tor_assert(*buf_flushlen <= buf->datalen); tor_assert(sz <= *buf_flushlen); if (BUG(*buf_flushlen > buf->datalen)) { *buf_flushlen = buf->datalen; } if (BUG(sz > *buf_flushlen)) { sz = *buf_flushlen; } check(); while (sz) { Loading
src/common/buffers_tls.c +6 −2 Original line number Diff line number Diff line Loading @@ -142,8 +142,12 @@ buf_flush_to_tls(buf_t *buf, tor_tls_t *tls, size_t flushlen, size_t flushed = 0; ssize_t sz; tor_assert(buf_flushlen); tor_assert(*buf_flushlen <= buf->datalen); tor_assert(flushlen <= *buf_flushlen); if (BUG(*buf_flushlen > buf->datalen)) { *buf_flushlen = buf->datalen; } if (BUG(flushlen > *buf_flushlen)) { flushlen = *buf_flushlen; } sz = (ssize_t) flushlen; /* we want to let tls write even if flushlen is zero, because it might Loading