Skip to content

Commit

Permalink
Fixing two authorization NPE problems
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Feb 4, 2015
1 parent 41c48ad commit 01e4acc
Showing 1 changed file with 8 additions and 3 deletions.
Expand Up @@ -1622,6 +1622,9 @@ private <T extends ObjectType> void postProcessObject(PrismObject<T> object, Get
}

private void removeDeniedItems(List<Item<? extends PrismValue>> items, ObjectSecurityConstraints securityContraints, AuthorizationDecisionType defaultDecision) {
if (items == null) {
return;
}
Iterator<Item<?>> iterator = items.iterator();
while (iterator.hasNext()) {
Item<? extends PrismValue> item = iterator.next();
Expand All @@ -1643,9 +1646,11 @@ private void removeDeniedItems(List<Item<? extends PrismValue>> items, ObjectSec
while (vi.hasNext()) {
PrismContainerValue<?> cval = vi.next();
List<Item<?>> subitems = cval.getItems();
removeDeniedItems(subitems, securityContraints, subDefaultDecision);
if (cval.getItems().isEmpty()) {
vi.remove();
if (subitems != null) {
removeDeniedItems(subitems, securityContraints, subDefaultDecision);
if (subitems.isEmpty()) {
vi.remove();
}
}
}
if (item.isEmpty()) {
Expand Down

0 comments on commit 01e4acc

Please sign in to comment.