From 938b6cdf9e44f9b6b948b3034a3baab521980888 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 18 Feb 2024 02:29:15 -0500 Subject: [PATCH] fix: store buf outside for loop --- bao/bao.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bao/bao.go b/bao/bao.go index c1d831f..9e5e87b 100644 --- a/bao/bao.go +++ b/bao/bao.go @@ -80,8 +80,9 @@ func Hash(r io.Reader) (*Result, error) { reader := bufio.NewReaderSize(r, bufSize) var totalReadSize int + buf := make([]byte, bufSize) for { - buf := make([]byte, bufSize) + n, err := reader.Read(buf) if err != nil { if err == io.EOF { @@ -99,6 +100,7 @@ func Hash(r io.Reader) (*Result, error) { if n == bufSize && float64(bufSize) < maxSize { // If buffer was fully used, consider increasing buffer size bufSize = int(math.Min(float64(bufSize*2), float64(maxSize))) // Double the buffer size, up to a maximum + buf = make([]byte, bufSize) // Apply new buffer size reader = bufio.NewReaderSize(r, bufSize) // Apply new buffer size } }