Allow windows environment variables to contain =
Fix issue where environment variables with embedded equals signs were being dropped and not passed to the container. Fixes #26178. Signed-off-by: Matt Richardson <matt.richardson@octopus.com>
This commit is contained in:
parent
1a04d7b1e1
commit
bc8eabce25
2 changed files with 14 additions and 1 deletions
|
@ -10,7 +10,7 @@ import (
|
|||
func setupEnvironmentVariables(a []string) map[string]string {
|
||||
r := make(map[string]string)
|
||||
for _, s := range a {
|
||||
arr := strings.Split(s, "=")
|
||||
arr := strings.SplitN(s, "=", 2)
|
||||
if len(arr) == 2 {
|
||||
r[arr[0]] = arr[1]
|
||||
}
|
||||
|
|
13
libcontainerd/utils_windows_test.go
Normal file
13
libcontainerd/utils_windows_test.go
Normal file
|
@ -0,0 +1,13 @@
|
|||
package libcontainerd
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestEnvironmentParsing(t *testing.T) {
|
||||
env := []string{"foo=bar", "car=hat", "a=b=c"}
|
||||
result := setupEnvironmentVariables(env)
|
||||
if len(result) != 3 || result["foo"] != "bar" || result["car"] != "hat" || result["a"] != "b=c" {
|
||||
t.Fatalf("Expected map[foo:bar car:hat a:b=c], got %v", result)
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue