aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/request.go
diff options
context:
space:
mode:
authorAndy Pan <panjf2000@gmail.com>2022-09-24 13:13:14 +0800
committerGopher Robot <gobot@golang.org>2022-09-27 16:01:59 +0000
commitd9d2ef991caabb3d2d0d419b652e7894cd2f4546 (patch)
tree723eea8e1fbff3dcdba2fdcb43e3c186fa10ea18 /src/net/http/request.go
parente978ef36e3e8d09413387883b5b01fc6cdbb7640 (diff)
downloadgo-d9d2ef991caabb3d2d0d419b652e7894cd2f4546.tar.xz
net/http: fix the potential leak of textproto.Reader from pool
Fixes #55835 Change-Id: I6109bab2941b859e8cfef22f65a6a3a5f977a8d7 Reviewed-on: https://go-review.googlesource.com/c/go/+/433835 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Andy Pan <panjf2000@gmail.com> Run-TryBot: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/net/http/request.go')
-rw-r--r--src/net/http/request.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/net/http/request.go b/src/net/http/request.go
index 924ca1b390..88d3d75af5 100644
--- a/src/net/http/request.go
+++ b/src/net/http/request.go
@@ -1030,6 +1030,8 @@ func ReadRequest(b *bufio.Reader) (*Request, error) {
func readRequest(b *bufio.Reader) (req *Request, err error) {
tp := newTextprotoReader(b)
+ defer putTextprotoReader(tp)
+
req = new(Request)
// First line: GET /index.html HTTP/1.0
@@ -1038,7 +1040,6 @@ func readRequest(b *bufio.Reader) (req *Request, err error) {
return nil, err
}
defer func() {
- putTextprotoReader(tp)
if err == io.EOF {
err = io.ErrUnexpectedEOF
}