From 916200e278ebeaa2602b5dc23143c8eedf11858b Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Fri, 15 Sep 2023 11:48:05 +0200 Subject: [PATCH] [errorprone] Fix wrong comparison which always evaluated to false org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java:59: error: [ComparisonOutOfRange] ints may have a value in the range -2147483648 to 2147483647; therefore, this comparison to Integer.MAX_VALUE will always evaluate to false if (table[k] > Integer.MAX_VALUE) { ^ See https://errorprone.info/bugpattern/ComparisonOutOfRange We need to check if variable `uint` of type `long` exceeds the maximum possible int value before casting it to `int` below. This was introduced in Ib5c0d6678cb242870a0f5841bd413ad3885e95f6 Change-Id: I675d594f523084be4c1678328cc343065e32d998 --- .../jgit/internal/storage/commitgraph/GraphObjectIndex.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java index 22b4011f9..a15602a16 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java @@ -56,7 +56,7 @@ class GraphObjectIndex { long uint32; for (int k = 0; k < table.length; k++) { uint32 = NB.decodeUInt32(oidFanout, k * 4); - if (table[k] > Integer.MAX_VALUE) { + if (uint32 > Integer.MAX_VALUE) { throw new CommitGraphFormatException( JGitText.get().commitGraphFileIsTooLargeForJgit); }