From b2bb8411ae6dc74e0f8b74084d004e78d88ce761 Mon Sep 17 00:00:00 2001 From: Alexander Yastrebov Date: Tue, 9 Jan 2024 11:52:53 +0100 Subject: [PATCH] filters/diag/logbody: use correct calculation of bytes left to log (#2837) Followup up on #2827 Signed-off-by: Alexander Yastrebov --- filters/diag/logbody.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/filters/diag/logbody.go b/filters/diag/logbody.go index 2500e752f9..d057fc1636 100644 --- a/filters/diag/logbody.go +++ b/filters/diag/logbody.go @@ -112,16 +112,12 @@ func newLogBodyStream(left int, f func([]byte), rc io.ReadCloser) io.ReadCloser } func (lb *logBodyStream) Read(p []byte) (n int, err error) { - if lb.left <= 0 { - return lb.input.Read(p) - } - n, err = lb.input.Read(p) - if n > 0 { - lb.f(p[:min(n, lb.left)]) + if lb.left > 0 && n > 0 { + m := min(n, lb.left) + lb.f(p[:m]) + lb.left -= m } - lb.left -= n - return n, err }