diff options
| author | Francisco Souza <franciscossouza@gmail.com> | 2012-09-13 10:25:35 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2012-09-13 10:25:35 -0400 |
| commit | ec9967ff11851facad48bb0c11639e52a77f79b9 (patch) | |
| tree | 98c3cb9f67eacfbed5197511b3c9fb87761e4bf7 /src | |
| parent | 237ee3926906ad08a048e764920e036ecdb08b11 (diff) | |
| download | go-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.go | 3 | ||||
| -rw-r--r-- | src/pkg/go/build/build_test.go | 13 |
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 { |
