Skip to content

Commit dce814f

Browse files
Merge pull request #15762 from simo5/cpbpanic36
Automatic merge from submit-queue Properly handle errors in policy listing In some policy{binding} function a conversion is performed after listing, but error checking is not properly performed on the previous listing function return. This can cause panics on errors. Fixed for master, #15747 via #15748
2 parents d109fb9 + 575611d commit dce814f

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

pkg/authorization/registry/clusterpolicy/registry.go

+6
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ func NewSimulatedRegistry(clusterRegistry Registry) policy.Registry {
100100

101101
func (s *simulatedStorage) ListPolicies(ctx apirequest.Context, options *metainternal.ListOptions) (*authorizationapi.PolicyList, error) {
102102
ret, err := s.clusterRegistry.ListClusterPolicies(ctx, options)
103+
if err != nil {
104+
return nil, err
105+
}
103106
return authorizationapi.ToPolicyList(ret), err
104107
}
105108

@@ -113,6 +116,9 @@ func (s *simulatedStorage) UpdatePolicy(ctx apirequest.Context, policy *authoriz
113116

114117
func (s *simulatedStorage) GetPolicy(ctx apirequest.Context, name string, options *metav1.GetOptions) (*authorizationapi.Policy, error) {
115118
ret, err := s.clusterRegistry.GetClusterPolicy(ctx, name, options)
119+
if err != nil {
120+
return nil, err
121+
}
116122
return authorizationapi.ToPolicy(ret), err
117123
}
118124

pkg/authorization/registry/clusterpolicybinding/registry.go

+6
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ func NewSimulatedRegistry(clusterRegistry Registry) policybinding.Registry {
100100

101101
func (s *simulatedStorage) ListPolicyBindings(ctx apirequest.Context, options *metainternal.ListOptions) (*authorizationapi.PolicyBindingList, error) {
102102
ret, err := s.clusterRegistry.ListClusterPolicyBindings(ctx, options)
103+
if err != nil {
104+
return nil, err
105+
}
103106
return authorizationapi.ToPolicyBindingList(ret), err
104107
}
105108

@@ -113,6 +116,9 @@ func (s *simulatedStorage) UpdatePolicyBinding(ctx apirequest.Context, policyBin
113116

114117
func (s *simulatedStorage) GetPolicyBinding(ctx apirequest.Context, name string, options *metav1.GetOptions) (*authorizationapi.PolicyBinding, error) {
115118
ret, err := s.clusterRegistry.GetClusterPolicyBinding(ctx, name, options)
119+
if err != nil {
120+
return nil, err
121+
}
116122
return authorizationapi.ToPolicyBinding(ret), err
117123
}
118124

0 commit comments

Comments
 (0)