aboutsummaryrefslogtreecommitdiff
path: root/internal/iolimit/expect_length_reader.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-04 08:26:56 +0800
committerGravatar Runxi Yu2026-03-04 08:59:53 +0800
commitab7501be34032fb9e5c48726a68ae90a917af9eb (patch)
tree20d005647569befea8133e953c3270e8fd2a2a5b /internal/iolimit/expect_length_reader.go
parent*: gofumpt (diff)
signatureNo signature
*: Lint
Diffstat (limited to 'internal/iolimit/expect_length_reader.go')
-rw-r--r--internal/iolimit/expect_length_reader.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/internal/iolimit/expect_length_reader.go b/internal/iolimit/expect_length_reader.go
index 477c207f..288e0e62 100644
--- a/internal/iolimit/expect_length_reader.go
+++ b/internal/iolimit/expect_length_reader.go
@@ -39,13 +39,16 @@ func (reader *expectLengthReader) Read(dst []byte) (int, error) {
if reader.remaining == 0 {
var probe [1]byte
+
n, err := reader.src.Read(probe[:])
if n > 0 {
return 0, ErrExpectedLengthExceeded
}
+
if err == nil {
return 0, nil
}
+
return 0, err
}
@@ -66,9 +69,11 @@ func (reader *expectLengthReader) Read(dst []byte) (int, error) {
if reader.remaining > 0 {
return n, io.ErrUnexpectedEOF
}
+
if n > 0 {
return n, nil
}
+
return 0, io.EOF
}