aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/server.go
diff options
context:
space:
mode:
authorGgicci <ggicci.t@gmail.com>2019-02-11 18:00:02 +0800
committerBrad Fitzpatrick <bradfitz@golang.org>2019-02-26 22:55:59 +0000
commitea65d015b838f2ca75debacacbbb039fe5e96b26 (patch)
tree3d1e2b732c76b659372502653e806fb94ced0697 /src/net/http/server.go
parent5a7e8f466e9becdb7277ac725b5540d6bd8e3727 (diff)
downloadgo-ea65d015b838f2ca75debacacbbb039fe5e96b26.tar.xz
net/http: clean the path of the stripped URL by StripPrefix
The path of the new stripped URL should also be cleaned. Since an empty path may cause unexpected errors in some HTTP handlers, e.g. http.ServeFile. Fixes #30165 Change-Id: Ib44fdce6388b5d62ffbcab5266925ef8f13f26e2 Reviewed-on: https://go-review.googlesource.com/c/161738 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/net/http/server.go')
-rw-r--r--src/net/http/server.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go
index aa9c3f5d2e..e68ec2f01e 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -2030,7 +2030,7 @@ func StripPrefix(prefix string, h Handler) Handler {
*r2 = *r
r2.URL = new(url.URL)
*r2.URL = *r.URL
- r2.URL.Path = p
+ r2.URL.Path = cleanPath(p)
h.ServeHTTP(w, r2)
} else {
NotFound(w, r)