From 534b4f1cec8bbe32377a5b0c57398948986bba7b Mon Sep 17 00:00:00 2001 From: sundb Date: Thu, 9 Mar 2023 17:20:44 +0800 Subject: [PATCH] Preallocate enough memory for the stream node if elements exceed stream_node_max_bytes --- src/t_stream.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/t_stream.c b/src/t_stream.c index 16ad044a2..8540728af 100644 --- a/src/t_stream.c +++ b/src/t_stream.c @@ -563,6 +563,7 @@ int streamAppendItem(stream *s, robj **argv, int64_t numfields, streamID *added_ if (server.stream_node_max_bytes > 0 && server.stream_node_max_bytes < prealloc) { prealloc = server.stream_node_max_bytes; } + if (prealloc < totelelen) prealloc = totelelen; lp = lpNew(prealloc); lp = lpAppendInteger(lp,1); /* One item, the one we are adding. */ lp = lpAppendInteger(lp,0); /* Zero deleted so far. */