aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/work/action.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2021-01-11 09:41:54 -0500
committerRoland Shoemaker <bracewell@google.com>2021-01-16 00:28:53 +0000
commite8e7facfaa47bf21007c0a1c679debba52ec3ea0 (patch)
tree3e94ff770e0ccc9d29d0e4ed78dc247885fb9a4b /src/cmd/go/internal/work/action.go
parent5c8fd727c41e31273923c32b33d4f25855f4e123 (diff)
downloadgo-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.go3
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.