aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/json/stream.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoding/json/stream.go')
-rw-r--r--src/encoding/json/stream.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/encoding/json/stream.go b/src/encoding/json/stream.go
index b278ee4013..1442ef29ef 100644
--- a/src/encoding/json/stream.go
+++ b/src/encoding/json/stream.go
@@ -202,7 +202,10 @@ func (enc *Encoder) Encode(v any) error {
if enc.err != nil {
return enc.err
}
+
e := newEncodeState()
+ defer encodeStatePool.Put(e)
+
err := e.marshal(v, encOpts{escapeHTML: enc.escapeHTML})
if err != nil {
return err
@@ -231,7 +234,6 @@ func (enc *Encoder) Encode(v any) error {
if _, err = enc.w.Write(b); err != nil {
enc.err = err
}
- encodeStatePool.Put(e)
return err
}