Fix NPE upon Git clone The Change.getServerid() is flagged as @Nullable and therefore could lead to a NPE when performing a permission check upon Gerrit clone. Bug: Issue 338826950 Release-Notes: Fix NPE during git clone Change-Id: I7d9978ceb8397c9dde5a41fa92af93bce54bf1d9
diff --git a/java/com/google/gerrit/server/git/ChangesByProjectCacheImpl.java b/java/com/google/gerrit/server/git/ChangesByProjectCacheImpl.java index b5a53b2..66c63c6 100644 --- a/java/com/google/gerrit/server/git/ChangesByProjectCacheImpl.java +++ b/java/com/google/gerrit/server/git/ChangesByProjectCacheImpl.java
@@ -286,7 +286,7 @@ int size = 0; size += JavaWeights.OBJECT; // change size += JavaWeights.REFERENCE + GerritWeights.KEY_INT; // changeId - size += JavaWeights.REFERENCE + c.getServerId().length(); + size += JavaWeights.REFERENCE + (c.getServerId() == null ? 0 : c.getServerId().length()); size += JavaWeights.REFERENCE + JavaWeights.OBJECT + 40; // changeKey; size += JavaWeights.REFERENCE + GerritWeights.TIMESTAMP; // createdOn; size += JavaWeights.REFERENCE + GerritWeights.TIMESTAMP; // lastUpdatedOn;