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 2a34aa7787f76055f62914d2db9fd55c6fcc0e6d
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Feb 2 13:27:51 2024 -0500

    Make org.apache.commons.compress.archivers.sevenz.StartHeader ivars
    final
---
 .../compress/archivers/sevenz/SevenZFile.java      | 24 +++++++++-------------
 .../compress/archivers/sevenz/StartHeader.java     | 13 +++++++++---
 2 files changed, 20 insertions(+), 17 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 c860fc1e6..492b35cab 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
@@ -1539,25 +1539,21 @@ public class SevenZFile implements Closeable {
     }
 
     private StartHeader readStartHeader(final long startHeaderCrc) throws 
IOException {
-        final StartHeader startHeader = new StartHeader();
         // using Stream rather than ByteBuffer for the benefit of the
         // built-in CRC check
         try (DataInputStream dataInputStream = new DataInputStream(
                 new CRC32VerifyingInputStream(new 
BoundedSeekableByteChannelInputStream(channel, 20), 20, startHeaderCrc))) {
-            startHeader.nextHeaderOffset = 
Long.reverseBytes(dataInputStream.readLong());
-            if (startHeader.nextHeaderOffset < 0 || 
startHeader.nextHeaderOffset + SIGNATURE_HEADER_SIZE > channel.size()) {
+            long nextHeaderOffset = 
Long.reverseBytes(dataInputStream.readLong());
+            if (nextHeaderOffset < 0 || nextHeaderOffset + 
SIGNATURE_HEADER_SIZE > channel.size()) {
                 throw new IOException("nextHeaderOffset is out of bounds");
             }
-
-            startHeader.nextHeaderSize = 
Long.reverseBytes(dataInputStream.readLong());
-            final long nextHeaderEnd = startHeader.nextHeaderOffset + 
startHeader.nextHeaderSize;
-            if (nextHeaderEnd < startHeader.nextHeaderOffset || nextHeaderEnd 
+ SIGNATURE_HEADER_SIZE > channel.size()) {
+            long nextHeaderSize = 
Long.reverseBytes(dataInputStream.readLong());
+            final long nextHeaderEnd = nextHeaderOffset + nextHeaderSize;
+            if (nextHeaderEnd < nextHeaderOffset || nextHeaderEnd + 
SIGNATURE_HEADER_SIZE > channel.size()) {
                 throw new IOException("nextHeaderSize is out of bounds");
             }
-
-            startHeader.nextHeaderCrc = 0xffffFFFFL & 
Integer.reverseBytes(dataInputStream.readInt());
-
-            return startHeader;
+            long nextHeaderCrc = 0xffffFFFFL & 
Integer.reverseBytes(dataInputStream.readInt());
+            return new StartHeader(nextHeaderOffset, nextHeaderSize, 
nextHeaderCrc);
         }
     }
 
@@ -2220,9 +2216,9 @@ public class SevenZFile implements Closeable {
             if (nid == NID.kEncodedHeader || nid == NID.kHeader) {
                 try {
                     // Try to initialize Archive structure from here
-                    final StartHeader startHeader = new StartHeader();
-                    startHeader.nextHeaderOffset = pos - previousDataSize;
-                    startHeader.nextHeaderSize = channel.size() - pos;
+                    long nextHeaderOffset = pos - previousDataSize;
+                    long nextHeaderSize = channel.size() - pos;
+                    final StartHeader startHeader = new 
StartHeader(nextHeaderOffset, nextHeaderSize, 0);
                     final Archive result = initializeArchive(startHeader, 
password, false);
                     // Sanity check: There must be some data...
                     if (result.packSizes.length > 0 && result.files.length > 
0) {
diff --git 
a/src/main/java/org/apache/commons/compress/archivers/sevenz/StartHeader.java 
b/src/main/java/org/apache/commons/compress/archivers/sevenz/StartHeader.java
index e4f083fea..855ea03f6 100644
--- 
a/src/main/java/org/apache/commons/compress/archivers/sevenz/StartHeader.java
+++ 
b/src/main/java/org/apache/commons/compress/archivers/sevenz/StartHeader.java
@@ -17,7 +17,14 @@
 package org.apache.commons.compress.archivers.sevenz;
 
 final class StartHeader {
-    long nextHeaderOffset;
-    long nextHeaderSize;
-    long nextHeaderCrc;
+
+    final long nextHeaderOffset;
+    final long nextHeaderSize;
+    final long nextHeaderCrc;
+
+    StartHeader(final long nextHeaderOffset, final long nextHeaderSize, final 
long nextHeaderCrc) {
+        this.nextHeaderOffset = nextHeaderOffset;
+        this.nextHeaderSize = nextHeaderSize;
+        this.nextHeaderCrc = nextHeaderCrc;
+    }
 }

Reply via email to