diff options
author | Bryan C. Mills <bcmills@google.com> | 2018-11-30 15:06:40 -0500 |
---|---|---|
committer | Dmitri Shuralyov <dmitshur@golang.org> | 2018-12-14 00:59:35 +0000 |
commit | bc82d7c7db83487e05d7a88e06549d4ae2a688c3 (patch) | |
tree | 0de564bb42c968383eb06cfdfc999c904dd9453f /src/cmd/go/internal/get/get.go | |
parent | 190a5f8fd2f360c22c11b290796ae7fc0fa5607c (diff) | |
download | go-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.go | 4 |
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) |