From e6ff9aac0d8d85a595c56be4ec3058f1af0314c6 Mon Sep 17 00:00:00 2001 From: ucwong Date: Wed, 14 Jan 2026 18:41:26 +0800 Subject: [PATCH] fix limitedBuffer.Write to properly enforce size limit --- rpc/handler.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rpc/handler.go b/rpc/handler.go index 3dedabb98a..8384a0bb55 100644 --- a/rpc/handler.go +++ b/rpc/handler.go @@ -612,8 +612,11 @@ type limitedBuffer struct { } func (buf *limitedBuffer) Write(data []byte) (int, error) { - avail := max(buf.limit, len(buf.output)) - if len(data) < avail { + avail := buf.limit - len(buf.output) + if avail <= 0 { + return 0, errTruncatedOutput + } + if len(data) <= avail { buf.output = append(buf.output, data...) return len(data), nil }