diff --git a/generate/generate.go b/generate/generate.go index ae5a9984..140ba4f5 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -540,6 +540,9 @@ func (g *Generator) addEnv(env, key string) { } else { // else the env doesn't exist, so add it and add it's index to g.envMap g.Config.Process.Env = append(g.Config.Process.Env, env) + if g.envMap == nil { + g.envMap = map[string]int{} + } g.envMap[key] = len(g.Config.Process.Env) - 1 } } diff --git a/generate/generate_test.go b/generate/generate_test.go index b27dc3fc..ea8f188a 100644 --- a/generate/generate_test.go +++ b/generate/generate_test.go @@ -124,6 +124,12 @@ func TestEnvCaching(t *testing.T) { } g.AddProcessEnv("", "") assert.Equal(t, []string(nil), g.Config.Process.Env) + + // Test with nil envMap. + g = generate.Generator{} + expected = []string{"k1=v1"} + g.AddProcessEnv("k1", "v1") + assert.Equal(t, expected, g.Config.Process.Env) } func TestMultipleEnvCaching(t *testing.T) {