1
0
forked from sm/vain

tighter constraints on allowed paths.

Change-Id: Ie6b121e4733e45288a36dbc2426f556fd5e2832d
This commit is contained in:
Stephen McQuay 2016-03-02 22:06:17 -08:00
parent 73438f2420
commit 5de44ba4d6
2 changed files with 30 additions and 8 deletions

View File

@ -12,7 +12,7 @@ import (
// Valid checks that p will not confuse the go tool if added to packages.
func Valid(p string, packages []Package) bool {
for _, pkg := range packages {
if strings.HasPrefix(pkg.path, p) {
if strings.HasPrefix(pkg.path, p) || strings.HasPrefix(p, pkg.path) {
return false
}
}

View File

@ -53,13 +53,6 @@ func TestValid(t *testing.T) {
in: "bobo",
want: true,
},
{
pkgs: []Package{
{path: ""},
},
in: "bobo",
want: true,
},
{
pkgs: []Package{
{path: "bobo"},
@ -74,6 +67,35 @@ func TestValid(t *testing.T) {
in: "a/b/c",
want: false,
},
{
pkgs: []Package{
{path: "a/b/c"},
},
in: "a/b",
want: false,
},
{
pkgs: []Package{
{path: "name/db"},
{path: "name/lib"},
},
in: "name/foo",
want: true,
},
{
pkgs: []Package{
{path: "a"},
},
in: "a/b",
want: false,
},
{
pkgs: []Package{
{path: "foo"},
},
in: "foo/bar",
want: false,
},
{
pkgs: []Package{
{path: "foo/bar"},