Skip to content

Commit 87de18b

Browse files
committed
handle send case with n is 0 but no error
1 parent 34f932f commit 87de18b

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

pkg/quic/stream.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -570,19 +570,20 @@ func releaseSendBuffer(idx uintptr) {
570570
}
571571

572572
func (mqs MsQuicStream) dynaReadFrom(r io.Reader) (n int64, err error) {
573+
buffer := getSendBuffer()
573574
for mqs.ctx.Err() == nil {
574-
buffer := getSendBuffer()
575575
bn, err := r.Read(buffer[:])
576-
if bn != 0 && err == nil {
577-
var nn int
578-
nn, err = mqs.noCopyWrite(buffer[:bn])
579-
n += int64(nn)
580-
}
581576
if err != nil {
582577
idx := uintptr(unsafe.Pointer(unsafe.SliceData(buffer)))
583578
releaseSendBuffer(idx)
584579
return n, err
585580
}
581+
if bn != 0 && err == nil {
582+
var nn int
583+
nn, err = mqs.noCopyWrite(buffer[:bn])
584+
n += int64(nn)
585+
buffer = getSendBuffer()
586+
}
586587
}
587588
return n, io.EOF
588589
}

0 commit comments

Comments
 (0)