From d8bb637050e2704ac02b7350eb07dfb2c55eadb7 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Tue, 13 Feb 2024 11:52:35 -0500 Subject: [PATCH] pkg/env.Join(): don't modify passed-in maps Make sure that env.Join() doesn't modify passed-in maps by cloning them and using only the clones. Signed-off-by: Nalin Dahyabhai --- pkg/env/env.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/env/env.go b/pkg/env/env.go index 6dbfb02017..a2165931ca 100644 --- a/pkg/env/env.go +++ b/pkg/env/env.go @@ -8,6 +8,8 @@ import ( "fmt" "os" "strings" + + "golang.org/x/exp/maps" ) const whiteSpaces = " \t" @@ -50,8 +52,9 @@ func Map(slice []string) map[string]string { // Join joins the two environment maps with override overriding base. func Join(base map[string]string, override map[string]string) map[string]string { if len(base) == 0 { - return override + return maps.Clone(override) } + base = maps.Clone(base) for k, v := range override { base[k] = v }