You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2025/08/16 19:44:38 UTC
(commons-compress) 05/05: Don't loose precision after reading a uint64
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit ef574bb2be9abdbfea9f257033b96b85e1650251
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Sat Aug 16 15:40:08 2025 -0400
Don't loose precision after reading a uint64
---
.../apache/commons/compress/archivers/sevenz/SevenZFile.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
index ad7bf225a..9f48a62ee 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
@@ -1942,7 +1942,7 @@ private void sanityCheckFilesInfo(final ByteBuffer header, final ArchiveStatisti
stats.numberOfEntriesWithStream = stats.numberOfEntries - Math.max(emptyStreams, 0);
}
- private int sanityCheckFolder(final ByteBuffer header, final ArchiveStatistics stats) throws IOException {
+ private long sanityCheckFolder(final ByteBuffer header, final ArchiveStatistics stats) throws IOException {
final int numCoders = toNonNegativeInt("numCoders", readUint64(header));
if (numCoders == 0) {
throw new ArchiveException("Folder without coders");
@@ -2010,7 +2010,7 @@ private int sanityCheckFolder(final ByteBuffer header, final ArchiveStatistics s
}
}
}
- return (int) totalOutStreams;
+ return totalOutStreams;
}
private void sanityCheckPackInfo(final ByteBuffer header, final ArchiveStatistics stats) throws IOException {
@@ -2126,7 +2126,7 @@ private void sanityCheckUnpackInfo(final ByteBuffer header, final ArchiveStatist
if (external != 0) {
throw new ArchiveException("External unsupported");
}
- final List<Integer> numberOfOutputStreamsPerFolder = new LinkedList<>();
+ final List<Long> numberOfOutputStreamsPerFolder = new LinkedList<>();
for (int i = 0; i < stats.numberOfFolders; i++) {
numberOfOutputStreamsPerFolder.add(sanityCheckFolder(header, stats));
}
@@ -2139,8 +2139,8 @@ private void sanityCheckUnpackInfo(final ByteBuffer header, final ArchiveStatist
if (nid != NID.kCodersUnpackSize) {
throw new ArchiveException("Expected kCodersUnpackSize, got %s", nid);
}
- for (final int numberOfOutputStreams : numberOfOutputStreamsPerFolder) {
- for (int i = 0; i < numberOfOutputStreams; i++) {
+ for (final long numberOfOutputStreams : numberOfOutputStreamsPerFolder) {
+ for (long i = 0; i < numberOfOutputStreams; i++) {
final long unpackSize = readUint64(header);
if (unpackSize < 0) {
throw new IllegalArgumentException("Negative unpackSize");