diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java index 5acde4385..30932e827 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java @@ -425,7 +425,7 @@ final boolean contains(final byte[] a, int aOff, final int aLen) { */ void validate(final DirCacheEntry[] cache, final int cCnt, int cIdx, final int pathOff) { - if (entrySpan >= 0) { + if (entrySpan >= 0 && cIdx + entrySpan <= cCnt) { // If we are valid, our children are also valid. // We have no need to validate them. //