From ce48fba05e6b52bd234c8f4abe66d55a2c0e56df Mon Sep 17 00:00:00 2001 From: Marc Strapetz Date: Fri, 15 Aug 2014 14:00:40 +0200 Subject: [PATCH] PackIndexV2: fix possibly wrong check According to http://stackoverflow.com/a/8381338, the maximum array size is not Integer.MAX_VALUE, but Integer.MAX_VALUE - 8 Change-Id: I6ddc7470368acd20abf0885c53c89a982bb0f176 Signed-off-by: Marc Strapetz --- .../src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java index 9d2caa2e8..5a5d1f77d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java @@ -116,7 +116,7 @@ class PackIndexV2 extends PackIndex { } final long nameLen = bucketCnt * Constants.OBJECT_ID_LENGTH; - if (nameLen > Integer.MAX_VALUE) + if (nameLen > Integer.MAX_VALUE - 8) // see http://stackoverflow.com/a/8381338 throw new IOException(JGitText.get().indexFileIsTooLargeForJgit); final int intNameLen = (int) nameLen;