summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Kempin <edwin.kempin@sap.com>2013-06-18 10:11:41 +0200
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-07-15 11:25:49 +0000
commit121cbead32d3155ebb1797aff4a870c54696984e (patch)
tree01dadbf4bd006a811d4167275a8556f8ebb1f6cc
parentff4c66885dbe58e87709eadeb18f7a45c5bc1c3a (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.java4
-rw-r--r--gerrit-common/src/main/java/com/google/gerrit/common/data/Permission.java4
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