]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/modfetch: avoid path.Join in URL errors
authorBryan C. Mills <bcmills@google.com>
Fri, 13 Jan 2023 21:43:41 +0000 (16:43 -0500)
committerGopher Robot <gobot@golang.org>
Fri, 27 Jan 2023 17:13:20 +0000 (17:13 +0000)
path.Join collapses duplicated '/' tokens, but an HTTP URL
intentionally includes a '://' after the scheme.

This should fix the syntax of the errors seen in
https://build.golang.org/log/a17d0c7b6159ea4dad0a9e5378ab5a36ee30ce44.

Updates #52727.

Change-Id: I6e1773a7eb8b3e7e2b3ca29540c1e94a7cd2d99d
Reviewed-on: https://go-review.googlesource.com/c/go/+/461682
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/cmd/go/internal/modfetch/proxy.go

index d2374680d8e3a43ed2fea15af8fc59af997d6457..facf738cb000a151c6068bf989e86b889f273e9d 100644 (file)
@@ -262,7 +262,7 @@ func (p *proxyRepo) getBytes(path string) ([]byte, error) {
        if err != nil {
                // net/http doesn't add context to Body errors, so add it here.
                // (See https://go.dev/issue/52727.)
-               return b, &url.Error{Op: "read", URL: pathpkg.Join(p.redactedURL, path), Err: err}
+               return b, &url.Error{Op: "read", URL: strings.TrimSuffix(p.redactedURL, "/") + "/" + path, Err: err}
        }
        return b, nil
 }