diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions.go index 343a6f550e9..00874f89cc6 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions.go @@ -57,7 +57,7 @@ func SetStatusCondition(conditions *[]metav1.Condition, newCondition metav1.Cond // RemoveStatusCondition removes the corresponding conditionType from conditions. // conditions must be non-nil. func RemoveStatusCondition(conditions *[]metav1.Condition, conditionType string) { - if conditions == nil { + if conditions == nil || len(*conditions) == 0 { return } newConditions := make([]metav1.Condition, 0, len(*conditions)-1) diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions_test.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions_test.go index e51c5bfc5d9..72e5f680cac 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/conditions_test.go @@ -121,6 +121,12 @@ func TestRemoveStatusCondition(t *testing.T) { {Type: "third"}, }, }, + { + name: "empty_conditions", + conditions: []metav1.Condition{}, + conditionType: "Foo", + expected: []metav1.Condition{}, + }, } for _, test := range tests {