mirror of
https://github.com/golang/go
synced 2024-09-24 21:10:12 -06:00
path/filepath: prevent infinite recursion on Windows on UNC input
This is a minimal fix to prevent this and other possible future infinite recursion. We can put in a proper fix for UNC in Go 1.8. Updates #15879 Change-Id: I3653cf5891bab8511adf66fa3c1a1d8912d1a293 Reviewed-on: https://go-review.googlesource.com/23572 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
This commit is contained in:
parent
81a8f1a794
commit
d2c92f8453
@ -250,6 +250,11 @@ func Glob(pattern string) (matches []string, err error) {
|
||||
return glob(dir, file, nil)
|
||||
}
|
||||
|
||||
// Prevent infinite recursion. See issue 15879.
|
||||
if dir == pattern {
|
||||
return nil, ErrBadPattern
|
||||
}
|
||||
|
||||
var m []string
|
||||
m, err = Glob(dir)
|
||||
if err != nil {
|
||||
|
@ -159,6 +159,12 @@ func TestGlobError(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGlobUNC(t *testing.T) {
|
||||
// Just make sure this runs without crashing for now.
|
||||
// See issue 15879.
|
||||
Glob(`\\?\C:\*`)
|
||||
}
|
||||
|
||||
var globSymlinkTests = []struct {
|
||||
path, dest string
|
||||
brokenLink bool
|
||||
|
Loading…
Reference in New Issue
Block a user