mirror of
https://github.com/golang/net.git
synced 2026-04-01 02:47:08 +09:00
http2: remove check for read-after-close of request bodies
Aborting a request currently races with writes of the request body, so abortRequestBodyWrite can close the body before writeRequestBody reads from it. Fixes golang/go#48555. Change-Id: I5362283f4066611aeecbc48b400d79cfa0b4b284 Reviewed-on: https://go-review.googlesource.com/c/net/+/351972 Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
@@ -4969,7 +4969,10 @@ func (rc *closeChecker) Read(b []byte) (n int, err error) {
|
||||
select {
|
||||
default:
|
||||
case <-rc.closed:
|
||||
panic("read from closed body")
|
||||
// TODO(dneil): Consider restructuring the request write to avoid reading
|
||||
// from the request body after closing it, and check for read-after-close here.
|
||||
// Currently, abortRequestBodyWrite races with writeRequestBody.
|
||||
return 0, errors.New("read after Body.Close")
|
||||
}
|
||||
return rc.ReadCloser.Read(b)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user