Commit d2c92f84 authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

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: default avatarAndrew Gerrand <adg@golang.org>
parent 81a8f1a7
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment