From 1daf6f13aa4a77c32ddc86b829d4e4ec32bb35dd Mon Sep 17 00:00:00 2001 From: Thomas Wolf Date: Sat, 26 Oct 2019 01:00:16 +0200 Subject: RewriteGenerator: avoid adding null parent Prevent adding a null parent to a commit's parent array. Doing so can cause NPEs later on. Bug: 552160 Change-Id: Ib24b7b9b7b08e0b6f246006b4a4cade7eeb830b9 Signed-off-by: Thomas Wolf --- .../src/org/eclipse/jgit/revwalk/RewriteGenerator.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'org.eclipse.jgit/src') diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RewriteGenerator.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RewriteGenerator.java index 2e26641ebc..b77407bb38 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RewriteGenerator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RewriteGenerator.java @@ -103,11 +103,15 @@ class RewriteGenerator extends Generator { final int nParents = pList.length; for (int i = 0; i < nParents; i++) { final RevCommit oldp = pList[i]; - if (firstParent && i > 0) { - c.parents = new RevCommit[] { rewrite(oldp) }; + final RevCommit newp = rewrite(oldp); + if (firstParent) { + if (newp == null) { + c.parents = RevCommit.NO_PARENTS; + } else { + c.parents = new RevCommit[] { newp }; + } return c; } - final RevCommit newp = rewrite(oldp); if (oldp != newp) { pList[i] = newp; rewrote = true; -- cgit v1.2.3