diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index c78ef0e89a..f70f959f01 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -577,7 +577,7 @@ func SysctlsFromPodAnnotation(annotation string) ([]Sysctl, error) { sysctls := make([]Sysctl, len(kvs)) for i, kv := range kvs { cs := strings.Split(kv, "=") - if len(cs) != 2 { + if len(cs) != 2 || len(cs[0]) == 0 { return nil, fmt.Errorf("sysctl %q not of the format sysctl_name=value", kv) } sysctls[i].Name = cs[0] diff --git a/pkg/api/helpers_test.go b/pkg/api/helpers_test.go index 70abca2a1b..1e8a5bd222 100644 --- a/pkg/api/helpers_test.go +++ b/pkg/api/helpers_test.go @@ -508,6 +508,14 @@ func TestSysctlsFromPodAnnotation(t *testing.T) { annotation: "foo.bar", expectErr: true, }, + { + annotation: "=123", + expectErr: true, + }, + { + annotation: "foo.bar=", + expectValue: []Sysctl{{Name: "foo.bar", Value: ""}}, + }, { annotation: "foo.bar=42", expectValue: []Sysctl{{Name: "foo.bar", Value: "42"}},