Change BUG() messages in buf_flush_to_tls() to IF_BUG_ONCE()

We introduced these BUG() checks in b0ddaac074 to prevent a
recurrence of bug 23690.  But there's a report of the BUG() message
getting triggered and filling up the disk.  Let's change it to
IF_BUG_ONCE().

Fixes bug 33093; bugfix on 0.3.2.2-alpha.
This commit is contained in:
Nick Mathewson
2020-01-29 08:31:22 -05:00
parent 19954cffd7
commit 1f163fcbde
2 changed files with 7 additions and 2 deletions
+2 -2
View File
@@ -146,10 +146,10 @@ 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);
if (BUG(*buf_flushlen > buf->datalen)) {
IF_BUG_ONCE(*buf_flushlen > buf->datalen) {
*buf_flushlen = buf->datalen;
}
if (BUG(flushlen > *buf_flushlen)) {
IF_BUG_ONCE(flushlen > *buf_flushlen) {
flushlen = *buf_flushlen;
}
sz = (ssize_t) flushlen;