Provide workaround for segmentation fault (fixes #54)

This commit is contained in:
Moritz Marquardt 2019-12-16 09:09:58 +01:00 committed by GitHub
parent 6c1b23a5cb
commit 2a4daae578
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -19,6 +19,10 @@ func (i Info) Parse(p string) (Path, error) {
return i.build("", "", "") return i.build("", "", "")
} }
if pathrx == nil {
// Please do not move the initialization down to the declaration, see #54
pathrx = regexp.MustCompile("([^:]+)(:(/.+))?")
}
res := pathrx.FindAllStringSubmatch(p, -1) res := pathrx.FindAllStringSubmatch(p, -1)
if len(res) == 0 { if len(res) == 0 {
return Path{}, fmt.Errorf("could not parse %q", p) return Path{}, fmt.Errorf("could not parse %q", p)
@ -60,4 +64,4 @@ func (i Info) build(p, pkg, name string) (Path, error) {
return pt, nil return pt, nil
} }
var pathrx = regexp.MustCompile("([^:]+)(:(/.+))?") var pathrx *regexp.Regexp