diff options
author | Edwin Kempin <edwin.kempin@sap.com> | 2013-06-18 10:11:41 +0200 |
---|---|---|
committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-07-15 11:25:49 +0000 |
commit | 121cbead32d3155ebb1797aff4a870c54696984e (patch) | |
tree | 01dadbf4bd006a811d4167275a8556f8ebb1f6cc | |
parent | ff4c66885dbe58e87709eadeb18f7a45c5bc1c3a (diff) |
Fix NullPointerException when comparing AccessSections
AccessSection.permissions and Permission.rules may not be set and null
values should be handled in the equals methods.
We saw this NPE when PermissionCollection tried to sort the access
sections.
Change-Id: I6f5a0886e6f9e5498fe9d756f289c5e91ed3485e
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
(cherry picked from commit 915104def3969fe5153bdc1e3e22f007483ff1aa)
-rw-r--r-- | gerrit-common/src/main/java/com/google/gerrit/common/data/AccessSection.java | 4 | ||||
-rw-r--r-- | gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/AccessSection.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/AccessSection.java index a9b5e85503..5ddf1ae249 100644 --- a/gerrit-common/src/main/java/com/google/gerrit/common/data/AccessSection.java +++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/AccessSection.java @@ -124,7 +124,7 @@ public class AccessSection extends RefConfigSection implements if (!super.equals(obj) || !(obj instanceof AccessSection)) { return false; } - return new HashSet<Permission>(permissions).equals(new HashSet<Permission>( - ((AccessSection) obj).permissions)); + return new HashSet<Permission>(getPermissions()).equals(new HashSet<Permission>( + ((AccessSection) obj).getPermissions())); } } diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java index 0585651098..43fefba481 100644 --- a/gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java +++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java @@ -241,8 +241,8 @@ public class Permission implements Comparable<Permission> { if (!name.equals(other.name) || exclusiveGroup != other.exclusiveGroup) { return false; } - return new HashSet<PermissionRule>(rules) - .equals(new HashSet<PermissionRule>(other.rules)); + return new HashSet<PermissionRule>(getRules()) + .equals(new HashSet<PermissionRule>(other.getRules())); } @Override |