From 334f95d75ebd123ac3a0875c44203576d256b6ec Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Thu, 22 Oct 2015 18:11:03 +0900 Subject: [PATCH] ApprovalCopier: Add precondition checks in getForPatchSet(db, ctl, ps) The CheckIT.currentPatchSetMissing test is failing with NPE in ApprovalCopier.getForPatchSet. The precondition checks added here reveal that getForPatchSet is being called with a null PatchSet. Change-Id: I3f992327620aa4c39af64ea968e1e7dffddad2d7 --- .../src/main/java/com/google/gerrit/server/ApprovalCopier.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java index b3cf660b9a..9a64369ff3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/ApprovalCopier.java @@ -15,6 +15,7 @@ package com.google.gerrit.server; import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; import static com.google.gerrit.server.change.ChangeKind.NO_CHANGE; import static com.google.gerrit.server.change.ChangeKind.NO_CODE_CHANGE; import static com.google.gerrit.server.change.ChangeKind.TRIVIAL_REBASE; @@ -91,11 +92,13 @@ public class ApprovalCopier { private Iterable getForPatchSet(ReviewDb db, ChangeControl ctl, PatchSet ps) throws OrmException { + checkNotNull(ps, "ps should not be null"); ChangeData cd = changeDataFactory.create(db, ctl); try { ProjectState project = projectCache.checkedGet(cd.change().getDest().getParentKey()); ListMultimap all = cd.approvals(); + checkNotNull(all, "all should not be null"); Table byUser = HashBasedTable.create();