From 18a2b34a541aae3a03920f721e3c9830117cdd2c Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 12 Feb 2016 10:17:34 +0900 Subject: [PATCH] SubmitStrategyOp: Throw IllegalStateException for unexpected submit type Make the message method throw an IllegalStateException instead of calling itself with a null CommitMergeStatus that will then be dereferenced and cause NPE. Also add a call to checkNotNull on the CommitMergeStatus. Change-Id: Ie3317c8327166707868d34a51a97457c9d7ac059 --- .../google/gerrit/server/git/strategy/SubmitStrategyOp.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyOp.java index dafcae4162..8b55cf8338 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/strategy/SubmitStrategyOp.java @@ -412,6 +412,7 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op { private ChangeMessage message(ChangeContext ctx, CodeReviewCommit commit, CommitMergeStatus s) { + checkNotNull(s, "CommitMergeStatus may not be null"); String txt = s.getMessage(); if (s == CommitMergeStatus.CLEAN_MERGE) { return message(ctx, commit.getPatchsetId(), txt + getByAccountName()); @@ -434,7 +435,10 @@ abstract class SubmitStrategyOp extends BatchUpdate.Op { case REBASE_IF_NECESSARY: return message(ctx, commit, CommitMergeStatus.CLEAN_REBASE); default: - return message(ctx, commit, null); + throw new IllegalStateException("unexpected submit type " + + args.submitType.toString() + + " for change " + + commit.change().getId()); } } else { throw new IllegalStateException("unexpected status " + s