]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
buf: add BUF_MAX_LEN
authorcypherpunks <cypherpunks@torproject.org>
Thu, 12 Mar 2020 16:02:00 +0000 (16:02 +0000)
committercypherpunks <cypherpunks@torproject.org>
Tue, 24 Mar 2020 05:53:01 +0000 (05:53 +0000)
src/core/mainloop/connection.c
src/lib/buf/buffers.h

index 708fb13cdb0d613a44a3e124600ba8b1aa466f85..f692da650d8c3e14f8ca1d06e7547659587f7ad4 100644 (file)
@@ -3804,8 +3804,8 @@ connection_buf_read_from_socket(connection_t *conn, ssize_t *max_to_read,
     at_most = connection_bucket_read_limit(conn, approx_time());
   }
 
-  /* Do not allow inbuf to grow past INT_MAX - 1. */
-  const ssize_t maximum = INT_MAX - 1 - buf_datalen(conn->inbuf);
+  /* Do not allow inbuf to grow past BUF_MAX_LEN. */
+  const ssize_t maximum = BUF_MAX_LEN - buf_datalen(conn->inbuf);
   if (at_most > maximum) {
     at_most = maximum;
   }
index fadd4174c0336fdecf15d28cfc9a47347b6a1409..d8a77feb72299b67dc881475f560de6d99c0f378 100644 (file)
@@ -29,6 +29,9 @@ void buf_free_(buf_t *buf);
 void buf_clear(buf_t *buf);
 buf_t *buf_copy(const buf_t *buf);
 
+/** Maximum bytes in a buffer, inclusive. */
+#define BUF_MAX_LEN (INT_MAX - 1)
+
 MOCK_DECL(size_t, buf_datalen, (const buf_t *buf));
 size_t buf_allocation(const buf_t *buf);
 size_t buf_slack(const buf_t *buf);