diff options
author | Russ Cox <rsc@golang.org> | 2021-01-11 09:41:54 -0500 |
---|---|---|
committer | Roland Shoemaker <bracewell@google.com> | 2021-01-16 00:28:53 +0000 |
commit | e8e7facfaa47bf21007c0a1c679debba52ec3ea0 (patch) | |
tree | 3e94ff770e0ccc9d29d0e4ed78dc247885fb9a4b /src/cmd/go/internal/work/action.go | |
parent | 5c8fd727c41e31273923c32b33d4f25855f4e123 (diff) | |
download | go-e8e7facfaa47bf21007c0a1c679debba52ec3ea0.tar.gz go-e8e7facfaa47bf21007c0a1c679debba52ec3ea0.zip |
[release-branch.go1.15-security] cmd/go: pass resolved CC, GCCGO to cgo
This makes sure the go command and cgo agree about
exactly which compiler is being used.
This issue was reported by RyotaK.
Fixes CVE-2021-3115.
Change-Id: If171c5c8b2523efb5ea2d957e5ad1380a038149c
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/949416
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
(cherry picked from commit 4cf399ca38587a6e4a3e85b494cd9a9b4cc53378)
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/955293
Reviewed-by: Katie Hockman <katiehockman@google.com>
Diffstat (limited to 'src/cmd/go/internal/work/action.go')
-rw-r--r-- | src/cmd/go/internal/work/action.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go index 6b5f9e4807..03ca301bdd 100644 --- a/src/cmd/go/internal/work/action.go +++ b/src/cmd/go/internal/work/action.go @@ -56,6 +56,9 @@ type Builder struct { id sync.Mutex toolIDCache map[string]string // tool name -> tool ID buildIDCache map[string]string // file name -> build ID + + cgoEnvOnce sync.Once + cgoEnvCache []string } // NOTE: Much of Action would not need to be exported if not for test. |