From b272e321857b80bd45ebf407f7260f86b69126ec Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Fri, 1 Mar 2024 06:23:31 -0500 Subject: [PATCH] fix: dont send an empty buffer to bao --- bao/bao.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bao/bao.go b/bao/bao.go index 52d751d..2527b96 100644 --- a/bao/bao.go +++ b/bao/bao.go @@ -67,13 +67,14 @@ func (v *Verifier) Read(p []byte) (int, error) { timeStart := time.Now() - if status, err := bao.Verify(buf[:bytesRead], v.read, v.proof.Proof, v.proof.Hash); err != nil || !status { - return n, errors.Join(ErrVerifyFailed, err) + if bytesRead > 0 { + if status, err := bao.Verify(buf[:bytesRead], v.read, v.proof.Proof, v.proof.Hash); err != nil || !status { + return n, errors.Join(ErrVerifyFailed, err) + } + v.read += uint64(bytesRead) + v.buffer.Write(buf[:bytesRead]) // Append new data to the buffer } - v.read += uint64(bytesRead) - v.buffer.Write(buf[:bytesRead]) // Append new data to the buffer - timeEnd := time.Now() v.verifyTime += timeEnd.Sub(timeStart)