aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/request.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2017-06-07 18:13:38 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2017-06-07 19:27:19 +0000
commit7579f96676eb2ea932cfa02e805bbae02c0d310c (patch)
treef1e54651170e82e4225b0cbbaa75dbe3f4621443 /src/net/http/request.go
parent0aede73917c89d048211b3731fb19157acfe4431 (diff)
downloadgo-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.go8
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
}