From: Francisco Souza Date: Thu, 13 Sep 2012 14:25:35 +0000 (-0400) Subject: go/build: reject empty strings in Import X-Git-Tag: go1.1rc2~2464 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ec9967ff11851facad48bb0c11639e52a77f79b9;p=gostls13.git go/build: reject empty strings in Import Fixes #3889. R=rsc, adg CC=golang-dev https://golang.org/cl/6499102 --- 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 {