aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-02-13 06:20:17 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2016-02-13 06:46:47 +0000
commit76cb265f2829be104c5fe395b81cd4721c9f0fa9 (patch)
tree6bbd4235b2bac1c5b38ef6787f8a1f7f9e399ec0
parente3033fc535eb29ab7533ecc4a86c607c2046b9c7 (diff)
downloadgo-76cb265f2829be104c5fe395b81cd4721c9f0fa9.tar.gz
go-76cb265f2829be104c5fe395b81cd4721c9f0fa9.zip
net/http: update bundled http2 to fix gzip crash on Read after NewReader error
Updates x/net/http2 to git rev 62685c2 for https://golang.org/cl/19483 Change-Id: Id01331cdba03934a6e55e55ad9c2ae27461ba149 Reviewed-on: https://go-review.googlesource.com/19484 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r--src/net/http/h2_bundle.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/net/http/h2_bundle.go b/src/net/http/h2_bundle.go
index c4faccc7a8..d8be49c0de 100644
--- a/src/net/http/h2_bundle.go
+++ b/src/net/http/h2_bundle.go
@@ -6141,13 +6141,18 @@ func (rt http2erringRoundTripper) RoundTrip(*Request) (*Response, error) { retur
// call gzip.NewReader on the first call to Read
type http2gzipReader struct {
body io.ReadCloser // underlying Response.Body
- zr io.Reader // lazily-initialized gzip reader
+ zr *gzip.Reader // lazily-initialized gzip reader
+ zerr error // sticky error
}
func (gz *http2gzipReader) Read(p []byte) (n int, err error) {
+ if gz.zerr != nil {
+ return 0, gz.zerr
+ }
if gz.zr == nil {
gz.zr, err = gzip.NewReader(gz.body)
if err != nil {
+ gz.zerr = err
return 0, err
}
}