Bladeren bron

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 <marc.strapetz@syntevo.com>
tags/v3.5.0.201409071800-rc1
Marc Strapetz 9 jaren geleden
bovenliggende
commit
ce48fba05e
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1
    1
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java

+ 1
- 1
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java Bestand weergeven

@@ -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;

Laden…
Annuleren
Opslaan