diff options
| author | Brad Fitzpatrick <bradfitz@golang.org> | 2017-06-07 18:13:38 +0000 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2017-06-07 19:27:19 +0000 |
| commit | 7579f96676eb2ea932cfa02e805bbae02c0d310c (patch) | |
| tree | f1e54651170e82e4225b0cbbaa75dbe3f4621443 /src/net/http/request.go | |
| parent | 0aede73917c89d048211b3731fb19157acfe4431 (diff) | |
| download | go-7579f96676eb2ea932cfa02e805bbae02c0d310c.tar.xz | |
net/http: don't crash in Request.WithContext if Request.URL is nil
Fixes #20601
Change-Id: I296d50dc5210a735a2a65d64bfef05d14c93057b
Reviewed-on: https://go-review.googlesource.com/45073
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Rhys Hiltner <rhys@justin.tv>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/net/http/request.go')
| -rw-r--r-- | src/net/http/request.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/net/http/request.go b/src/net/http/request.go index 7f473dd15d..c493aeb2d7 100644 --- a/src/net/http/request.go +++ b/src/net/http/request.go @@ -333,9 +333,11 @@ func (r *Request) WithContext(ctx context.Context) *Request { // Deep copy the URL because it isn't // a map and the URL is mutable by users // of WithContext. - r2URL := new(url.URL) - *r2URL = *r.URL - r2.URL = r2URL + if r.URL != nil { + r2URL := new(url.URL) + *r2URL = *r.URL + r2.URL = r2URL + } return r2 } |
