Skip to content

Commit

Permalink
Merge pull request #15762 from simo5/cpbpanic36
Browse files Browse the repository at this point in the history
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
  • Loading branch information
openshift-merge-robot authored Aug 16, 2017
2 parents d109fb9 + 575611d commit dce814f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
6 changes: 6 additions & 0 deletions pkg/authorization/registry/clusterpolicy/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ func NewSimulatedRegistry(clusterRegistry Registry) policy.Registry {

func (s *simulatedStorage) ListPolicies(ctx apirequest.Context, options *metainternal.ListOptions) (*authorizationapi.PolicyList, error) {
ret, err := s.clusterRegistry.ListClusterPolicies(ctx, options)
if err != nil {
return nil, err
}
return authorizationapi.ToPolicyList(ret), err
}

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

func (s *simulatedStorage) GetPolicy(ctx apirequest.Context, name string, options *metav1.GetOptions) (*authorizationapi.Policy, error) {
ret, err := s.clusterRegistry.GetClusterPolicy(ctx, name, options)
if err != nil {
return nil, err
}
return authorizationapi.ToPolicy(ret), err
}

Expand Down
6 changes: 6 additions & 0 deletions pkg/authorization/registry/clusterpolicybinding/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ func NewSimulatedRegistry(clusterRegistry Registry) policybinding.Registry {

func (s *simulatedStorage) ListPolicyBindings(ctx apirequest.Context, options *metainternal.ListOptions) (*authorizationapi.PolicyBindingList, error) {
ret, err := s.clusterRegistry.ListClusterPolicyBindings(ctx, options)
if err != nil {
return nil, err
}
return authorizationapi.ToPolicyBindingList(ret), err
}

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

func (s *simulatedStorage) GetPolicyBinding(ctx apirequest.Context, name string, options *metav1.GetOptions) (*authorizationapi.PolicyBinding, error) {
ret, err := s.clusterRegistry.GetClusterPolicyBinding(ctx, name, options)
if err != nil {
return nil, err
}
return authorizationapi.ToPolicyBinding(ret), err
}

Expand Down

0 comments on commit dce814f

Please sign in to comment.