Skip to content

Commit efdd399

Browse files
authored
Merge pull request go-git#1042 from tim775/fix/worktree_valid_path_panic
git: worktree, Don't panic on empty or root path when checking if it is valid
2 parents 8d00703 + 384dbf7 commit efdd399

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

worktree.go

+4
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,10 @@ var worktreeDeny = map[string]struct{}{
428428
func validPath(paths ...string) error {
429429
for _, p := range paths {
430430
parts := strings.FieldsFunc(p, func(r rune) bool { return (r == '\\' || r == '/') })
431+
if len(parts) == 0 {
432+
return fmt.Errorf("invalid path: %q", p)
433+
}
434+
431435
if _, denied := worktreeDeny[strings.ToLower(parts[0])]; denied {
432436
return fmt.Errorf("invalid path prefix: %q", p)
433437
}

worktree_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -2957,6 +2957,8 @@ func TestValidPath(t *testing.T) {
29572957
{"git~1", true},
29582958
{"a/../b", true},
29592959
{"a\\..\\b", true},
2960+
{"/", true},
2961+
{"", true},
29602962
{".gitmodules", false},
29612963
{".gitignore", false},
29622964
{"a..b", false},

0 commit comments

Comments
 (0)