Commit d2a220183b for frr
commit d2a220183b243dc86a04a1fdbcfbea7c52f6fbff
Author: Donald Sharp <sharpd@nvidia.com>
Date: Sat Oct 17 09:14:01 2026 -0400
lib: Fix expandable stream problem
If you have a expandable stream and you use either
stream_write or stream_put the write will be truncated
and the stream will not grow to the needed size. Let's
just remove CHECK_SIZE and get on with the show.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
diff --git a/lib/stream.c b/lib/stream.c
index 5e3ea06eb1..2b1d028a16 100644
--- a/lib/stream.c
+++ b/lib/stream.c
@@ -77,19 +77,6 @@ DEFINE_MTYPE_STATIC(LIB, STREAM_FIFO, "Stream FIFO");
STREAM_WARN_OFFSETS(S); \
} while (0)
-/* XXX: Deprecated macro: do not use */
-#define CHECK_SIZE(S, Z) \
- do { \
- if (((S)->endp + (Z)) > (S)->size) { \
- flog_warn( \
- EC_LIB_STREAM, \
- "CHECK_SIZE: truncating requested size %lu", \
- (unsigned long)(Z)); \
- STREAM_WARN_OFFSETS(S); \
- (Z) = (S)->size - (S)->endp; \
- } \
- } while (0);
-
/* Make stream buffer. */
struct stream *stream_new(size_t size)
{
@@ -728,10 +715,6 @@ double stream_getd(struct stream *s)
*/
void stream_put(struct stream *s, const void *src, size_t size)
{
-
- /* XXX: CHECK_SIZE has strange semantics. It should be deprecated */
- CHECK_SIZE(s, size);
-
STREAM_VERIFY_SANE(s);
if (STREAM_WRITEABLE(s) < size) {
@@ -1187,9 +1170,6 @@ ssize_t stream_recvmsg(struct stream *s, int fd, struct msghdr *msgh, int flags,
/* Write data to buffer. */
size_t stream_write(struct stream *s, const void *ptr, size_t size)
{
-
- CHECK_SIZE(s, size);
-
STREAM_VERIFY_SANE(s);
if (STREAM_WRITEABLE(s) < size) {