Skip to content

Commit 4de4160

Browse files
committed
Fix code for splitting KEY=VALUE env vars
Make the code work with env values with "=" in them as well as entries of the form "KEY" (no "=")
1 parent 9978084 commit 4de4160

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

docker-gen.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,11 @@ type Context []*RuntimeContainer
100100
func (c *Context) Env() map[string]string {
101101

102102
env := make(map[string]string)
103-
for _, i := range os.Environ() {
104-
parts := strings.Split(i, "=")
103+
for _, entry := range os.Environ() {
104+
parts := strings.SplitN(entry, "=", 2)
105+
if len(parts) != 2 {
106+
parts = append(parts, "")
107+
}
105108
env[parts[0]] = parts[1]
106109
}
107110
return env

docker_client.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,10 @@ func getContainers(client *docker.Client) ([]*RuntimeContainer, error) {
148148
}
149149

150150
for _, entry := range container.Config.Env {
151-
parts := strings.Split(entry, "=")
151+
parts := strings.SplitN(entry, "=", 2)
152+
if len(parts) != 2 {
153+
parts = append(parts, "")
154+
}
152155
runtimeContainer.Env[parts[0]] = parts[1]
153156
}
154157

0 commit comments

Comments
 (0)