Merge "Fix possible NPEs in ReplaceRequest.cmd usage in ReceiveCommits"
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index 70f00f3..4d80193 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -1406,7 +1406,7 @@
     }
 
     for (ReplaceRequest req : replaceByChange.values()) {
-      if (req.inputCommand.getResult() == NOT_ATTEMPTED) {
+      if (req.inputCommand.getResult() == NOT_ATTEMPTED && req.cmd != null) {
         batch.addCommand(req.cmd);
       }
     }
@@ -1414,7 +1414,7 @@
     if (newChange != null && newChange.getResult() != NOT_ATTEMPTED) {
       // Cancel creations tied to refs/for/ or refs/drafts/ command.
       for (ReplaceRequest req : replaceByChange.values()) {
-        if (req.inputCommand == newChange) {
+        if (req.inputCommand == newChange && req.cmd != null) {
           req.cmd.setResult(Result.REJECTED_OTHER_REASON, "aborted");
         }
       }