From 2f845cc20e1b01310886a7dcbd440011e80cc8d4 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Sun, 18 Jan 2026 17:41:40 -0500 Subject: [PATCH] chore: return empty slices instead of nil for safety MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush --- internal/env/env.go | 9 +-------- internal/env/env_test.go | 6 ++++-- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/internal/env/env.go b/internal/env/env.go index f4bf8ff5a7ace08496a5f56d7372db91212b33fe..2fe19cc20bdd8771cff98da3dd24d7b25c3cba1e 100644 --- a/internal/env/env.go +++ b/internal/env/env.go @@ -17,11 +17,7 @@ func (o *osEnv) Get(key string) string { } func (o *osEnv) Env() []string { - env := os.Environ() - if len(env) == 0 { - return nil - } - return env + return os.Environ() } func New() Env { @@ -42,9 +38,6 @@ func (m *mapEnv) Get(key string) string { // Env implements Env. func (m *mapEnv) Env() []string { - if len(m.m) == 0 { - return nil - } env := make([]string, 0, len(m.m)) for k, v := range m.m { env = append(env, k+"="+v) diff --git a/internal/env/env_test.go b/internal/env/env_test.go index a86b8f4140a57d564797f260b24262472c9ad058..e8e19cf8b6356e19e4f61cb3bfb2eef7b93ad9fc 100644 --- a/internal/env/env_test.go +++ b/internal/env/env_test.go @@ -90,13 +90,15 @@ func TestMapEnv_Env(t *testing.T) { t.Run("empty map", func(t *testing.T) { env := NewFromMap(map[string]string{}) envVars := env.Env() - require.Nil(t, envVars) + require.NotNil(t, envVars) + require.Len(t, envVars, 0) }) t.Run("nil map", func(t *testing.T) { env := NewFromMap(nil) envVars := env.Env() - require.Nil(t, envVars) + require.NotNil(t, envVars) + require.Len(t, envVars, 0) }) }