aboutsummaryrefslogtreecommitdiff
path: root/src/bufio/bufio.go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2025-01-26 21:52:58 -0800
committerGopher Robot <gobot@golang.org>2025-02-06 17:08:54 -0800
commit290ec2d92bca6472fdabce51fc331b3bcaa7129d (patch)
tree521de9734127e3ce5cae85a6931562054132a8eb /src/bufio/bufio.go
parent7c6b047ea14dcc6aa948f901956511c4e8691abf (diff)
downloadgo-290ec2d92bca6472fdabce51fc331b3bcaa7129d.tar.xz
bufio: don't do empty Write at start of WriteTo
The empty Write will cause the wrong thing to happen when using io.Copy to copy to a package-based stream. Fixes #71424 Change-Id: I046a27539447182692ac76a8bdd422327345dd8d Reviewed-on: https://go-review.googlesource.com/c/go/+/644535 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com> Reviewed-by: Damien Neil <dneil@google.com>
Diffstat (limited to 'src/bufio/bufio.go')
-rw-r--r--src/bufio/bufio.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/bufio/bufio.go b/src/bufio/bufio.go
index d589701e19..5244ce2e0c 100644
--- a/src/bufio/bufio.go
+++ b/src/bufio/bufio.go
@@ -519,9 +519,11 @@ func (b *Reader) WriteTo(w io.Writer) (n int64, err error) {
b.lastByte = -1
b.lastRuneSize = -1
- n, err = b.writeBuf(w)
- if err != nil {
- return
+ if b.r < b.w {
+ n, err = b.writeBuf(w)
+ if err != nil {
+ return
+ }
}
if r, ok := b.rd.(io.WriterTo); ok {