diff options
| author | Youlin Feng <fengyoulin@live.com> | 2025-09-04 09:17:26 +0800 |
|---|---|---|
| committer | Michael Matloob <matloob@golang.org> | 2025-09-16 12:31:12 -0700 |
| commit | cbdad4fc3cecbdfcee4e9d30df04916a151bfc16 (patch) | |
| tree | 1857bbcaab6cf86aa94262b05d7579aa9ecffe79 /src/cmd/internal/pkgpattern | |
| parent | c2d85eb999fcd428a1cd71ed93805cbde0c16eaa (diff) | |
| download | go-cbdad4fc3cecbdfcee4e9d30df04916a151bfc16.tar.xz | |
cmd/go: check pattern for utf8 validity before call regexp.MustCompile
Do not panic if the package path or the package version contains
invalid UTF-8 characters.
Fixes #75251
Change-Id: Ib787e74277cf814253857b911d378ea5e53d8824
Reviewed-on: https://go-review.googlesource.com/c/go/+/700815
Reviewed-by: Michael Matloob <matloob@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Alexander <jitsu@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
Diffstat (limited to 'src/cmd/internal/pkgpattern')
| -rw-r--r-- | src/cmd/internal/pkgpattern/pkgpattern.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/internal/pkgpattern/pkgpattern.go b/src/cmd/internal/pkgpattern/pkgpattern.go index 1496eebb3e..5bbe8a52fb 100644 --- a/src/cmd/internal/pkgpattern/pkgpattern.go +++ b/src/cmd/internal/pkgpattern/pkgpattern.go @@ -7,6 +7,7 @@ package pkgpattern import ( "regexp" "strings" + "unicode/utf8" ) // Note: most of this code was originally part of the cmd/go/internal/search @@ -71,7 +72,7 @@ func matchPatternInternal(pattern string, vendorExclude bool) func(name string) const vendorChar = "\x00" - if vendorExclude && strings.Contains(pattern, vendorChar) { + if vendorExclude && strings.Contains(pattern, vendorChar) || !utf8.ValidString(pattern) { return func(name string) bool { return false } } |
