From 86fca3dcb63157b8e45e565e821e7fb098fcf368 Mon Sep 17 00:00:00 2001 From: Joe Tsai Date: Tue, 24 Jun 2025 19:00:23 -0700 Subject: [PATCH] encoding/json/jsontext: use bytes.Buffer.AvailableBuffer This logic was added in October, 2021: https://github.com/go-json-experiment/json/commit/0b3bd4e1ed96587be346b7f964d6bb3fcfed65f4 before the introduction of bytes.Buffer.AvailableBuffer in March, 2023. https://go.dev/cl/474635 Updates #71845 Change-Id: I96800e1ba8fce15cc78316779db4ddcd4fe1d510 Reviewed-on: https://go-review.googlesource.com/c/go/+/685136 Reviewed-by: Damien Neil Auto-Submit: Joseph Tsai LUCI-TryBot-Result: Go LUCI Reviewed-by: Dmitri Shuralyov --- src/encoding/json/jsontext/encode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/encoding/json/jsontext/encode.go b/src/encoding/json/jsontext/encode.go index bb9a41f0f6..562d217fef 100644 --- a/src/encoding/json/jsontext/encode.go +++ b/src/encoding/json/jsontext/encode.go @@ -114,7 +114,7 @@ func (e *encoderState) reset(b []byte, w io.Writer, opts ...Options) { e.state.reset() e.encodeBuffer = encodeBuffer{Buf: b, wr: w, bufStats: e.bufStats} if bb, ok := w.(*bytes.Buffer); ok && bb != nil { - e.Buf = bb.Bytes()[bb.Len():] // alias the unused buffer of bb + e.Buf = bb.AvailableBuffer() // alias the unused buffer of bb } opts2 := jsonopts.Struct{} // avoid mutating e.Struct in case it is part of opts opts2.Join(opts...) -- 2.50.0