aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/get/get.go
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2018-11-30 15:06:40 -0500
committerDmitri Shuralyov <dmitshur@golang.org>2018-12-14 00:59:35 +0000
commitbc82d7c7db83487e05d7a88e06549d4ae2a688c3 (patch)
tree0de564bb42c968383eb06cfdfc999c904dd9453f /src/cmd/go/internal/get/get.go
parent190a5f8fd2f360c22c11b290796ae7fc0fa5607c (diff)
downloadgo-bc82d7c7db83487e05d7a88e06549d4ae2a688c3.tar.gz
go-bc82d7c7db83487e05d7a88e06549d4ae2a688c3.zip
cmd/go: reject 'get' of paths containing leading dots or unsupported characters
On some platforms, directories beginning with dot are treated as hidden files, and filenames containing unusual characters can be confusing for users to manipulate (and delete). Fixes #29230 Fixes #29231 Change-Id: Ic6f97f577d8fafa83ef62438095a5c7ae022881a Reviewed-on: https://team-review.git.corp.google.com/c/368507 Reviewed-by: Russ Cox <rsc@google.com> Reviewed-on: https://go-review.googlesource.com/c/154101 Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/go/internal/get/get.go')
-rw-r--r--src/cmd/go/internal/get/get.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/go/internal/get/get.go b/src/cmd/go/internal/get/get.go
index e4148bceb0..f4b969fcb2 100644
--- a/src/cmd/go/internal/get/get.go
+++ b/src/cmd/go/internal/get/get.go
@@ -402,6 +402,10 @@ func downloadPackage(p *load.Package) error {
security = web.Insecure
}
+ if err := CheckImportPath(p.ImportPath); err != nil {
+ return fmt.Errorf("%s: invalid import path: %v", p.ImportPath, err)
+ }
+
if p.Internal.Build.SrcRoot != "" {
// Directory exists. Look for checkout along path to src.
vcs, rootPath, err = vcsFromDir(p.Dir, p.Internal.Build.SrcRoot)