Commit b0ddaac0 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Make some assertions nonfatal to help prevent bug23690 recurrence.

parent 4e6374c2
Loading
Loading
Loading
Loading
+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.
+6 −2
Original line number Diff line number Diff line
@@ -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) {
+6 −2
Original line number Diff line number Diff line
@@ -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