This is an automated email from the ASF dual-hosted git repository. bodewig pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit 6a72242a7b6089cad8f35eac21785399f29d8a8c Author: Stefan Bodewig <bode...@apache.org> AuthorDate: Sat May 22 17:14:02 2021 +0200 tiny performance improvement --- .../org/apache/commons/compress/archivers/tar/TarArchiveEntry.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java index 158c1d2..ff10db2 100644 --- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java +++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java @@ -947,9 +947,10 @@ public class TarArchiveEntry implements ArchiveEntry, TarConstants, EntryStreamO .sorted(Comparator.comparingLong(TarArchiveStructSparse::getOffset)) .collect(Collectors.toList()); - for (int i = 0; i < orderedAndFiltered.size(); i++) { + final int numberOfHeaders = orderedAndFiltered.size(); + for (int i = 0; i < numberOfHeaders; i++) { final TarArchiveStructSparse str = orderedAndFiltered.get(i); - if (i + 1 < orderedAndFiltered.size()) { + if (i + 1 < numberOfHeaders) { if (str.getOffset() + str.getNumbytes() > orderedAndFiltered.get(i + 1).getOffset()) { throw new IOException("Corrupted TAR archive. Sparse blocks for " + getName() + " overlap each other."); @@ -962,7 +963,7 @@ public class TarArchiveEntry implements ArchiveEntry, TarConstants, EntryStreamO } } if (!orderedAndFiltered.isEmpty()) { - final TarArchiveStructSparse last = orderedAndFiltered.get(orderedAndFiltered.size() - 1); + final TarArchiveStructSparse last = orderedAndFiltered.get(numberOfHeaders - 1); if (last.getOffset() + last.getNumbytes() > getRealSize()) { throw new IOException("Corrupted TAR archive. Sparse block extends beyond real size of the entry"); }