From 1d09a294f08f8943e5ae2d571540c8f36473a186 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Thu, 7 Aug 2025 21:58:23 +0200 Subject: [PATCH] fix: valueMasker concurrent map write (#5026) (simplify) --- act/runner/logger.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/act/runner/logger.go b/act/runner/logger.go index f6849040..fad30b86 100644 --- a/act/runner/logger.go +++ b/act/runner/logger.go @@ -5,6 +5,7 @@ import ( "context" "fmt" "io" + "maps" "os" "strings" "sync" @@ -158,10 +159,7 @@ func withStepLogger(ctx context.Context, stepNumber int, stepID, stepName, stage type entryProcessor func(entry *logrus.Entry) *logrus.Entry func valueMasker(insecureSecrets bool, secrets map[string]string) entryProcessor { - ssecrets := []string{} - for _, v := range secrets { - ssecrets = append(ssecrets, v) - } + secrets = maps.Clone(secrets) return func(entry *logrus.Entry) *logrus.Entry { if insecureSecrets { return entry @@ -169,7 +167,7 @@ func valueMasker(insecureSecrets bool, secrets map[string]string) entryProcessor masks := Masks(entry.Context) - for _, v := range ssecrets { + for _, v := range secrets { if v != "" { entry.Message = strings.ReplaceAll(entry.Message, v, "***") }