aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrancisco Souza <franciscossouza@gmail.com>2012-09-13 10:25:35 -0400
committerRuss Cox <rsc@golang.org>2012-09-13 10:25:35 -0400
commitec9967ff11851facad48bb0c11639e52a77f79b9 (patch)
tree98c3cb9f67eacfbed5197511b3c9fb87761e4bf7 /src
parent237ee3926906ad08a048e764920e036ecdb08b11 (diff)
downloadgo-ec9967ff11851facad48bb0c11639e52a77f79b9.tar.xz
go/build: reject empty strings in Import
Fixes #3889. R=rsc, adg CC=golang-dev https://golang.org/cl/6499102
Diffstat (limited to 'src')
-rw-r--r--src/pkg/go/build/build.go3
-rw-r--r--src/pkg/go/build/build_test.go13
2 files changed, 16 insertions, 0 deletions
diff --git a/src/pkg/go/build/build.go b/src/pkg/go/build/build.go
index a65ff437ab..53daa6db2f 100644
--- a/src/pkg/go/build/build.go
+++ b/src/pkg/go/build/build.go
@@ -351,6 +351,9 @@ func (ctxt *Context) Import(path string, srcDir string, mode ImportMode) (*Packa
p := &Package{
ImportPath: path,
}
+ if path == "" {
+ return p, fmt.Errorf("import %q: invalid import path", path)
+ }
var pkga string
var pkgerr error
diff --git a/src/pkg/go/build/build_test.go b/src/pkg/go/build/build_test.go
index caa4f26f33..d8cf98840d 100644
--- a/src/pkg/go/build/build_test.go
+++ b/src/pkg/go/build/build_test.go
@@ -61,6 +61,19 @@ func TestDotSlashImport(t *testing.T) {
}
}
+func TestEmptyImport(t *testing.T) {
+ p, err := Import("", Default.GOROOT, FindOnly)
+ if err == nil {
+ t.Fatal(`Import("") returned nil error.`)
+ }
+ if p == nil {
+ t.Fatal(`Import("") returned nil package.`)
+ }
+ if p.ImportPath != "" {
+ t.Fatalf("ImportPath=%q, want %q.", p.ImportPath, "")
+ }
+}
+
func TestLocalDirectory(t *testing.T) {
cwd, err := os.Getwd()
if err != nil {