summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Borowitz <dborowitz@google.com>2013-10-29 11:16:53 -0700
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2013-10-31 07:18:25 +0000
commit8f5aa59368b501dc518da615921c4fd859cd12f1 (patch)
treea78259907f0b27929b49053f1269327b7feaee7c
parentc9b686056eeb344f21bdf259cc000ebd4fa8af65 (diff)
ChangeField: skip PatchSets with null revisions
The revision field has notNull = false, so it may be null. Current usages always call setRevision() on new PatchSets, but old changes in the DB may be corrupt. Avoid an NPE when indexing these old changes. Change-Id: I7467e94bd1b5d1b77e29dd26925463152160512d (cherry picked from commit 849c5c8e00ed390af667a42fe387872e416c781a)
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
index a74ef01511..290bd3143c 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
@@ -206,7 +206,9 @@ public class ChangeField {
throws OrmException {
Set<String> revisions = Sets.newHashSet();
for (PatchSet ps : input.patches(args.db)) {
- revisions.add(ps.getRevision().get());
+ if (ps.getRevision() != null) {
+ revisions.add(ps.getRevision().get());
+ }
}
return revisions;
}