This is an automated email from the ASF dual-hosted git repository. garydgregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit fc9ae9fb6482fba9bbef923aaf6e578f170ae26a Author: Gary Gregory <[email protected]> AuthorDate: Mon Jul 13 13:19:01 2026 -0400 Refactor magic numbers. --- .../apache/commons/compress/archivers/sevenz/LZMADecoder.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/LZMADecoder.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/LZMADecoder.java index d56cc5176..6c00f931e 100644 --- a/src/main/java/org/apache/commons/compress/archivers/sevenz/LZMADecoder.java +++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/LZMADecoder.java @@ -32,6 +32,10 @@ final class LZMADecoder extends AbstractCoder { + private static final int LZMA_DICT_IDX = 1; + private static final int LZMA_DICT_LEN = 4; + private static final int LZMA_PROP_LEN = LZMA_DICT_IDX + LZMA_DICT_LEN; + LZMADecoder() { super(LZMA2Options.class, Number.class); } @@ -61,10 +65,10 @@ OutputStream encode(final OutputStream out, final Object opts) throws IOExceptio } private int getDictionarySize(final Coder coder) throws ArchiveException { - if (coder.properties.length < 5) { - throw new ArchiveException("LZMA properties too short (expected 5 bytes)"); + if (coder.properties.length < LZMA_DICT_LEN + LZMA_DICT_IDX) { + throw new ArchiveException("LZMA properties too short (expected " + LZMA_PROP_LEN + " bytes)"); } - final long dictionarySize = ByteUtils.fromLittleEndian(coder.properties, 1, 4); + final long dictionarySize = ByteUtils.fromLittleEndian(coder.properties, LZMA_DICT_IDX, LZMA_DICT_LEN); if (dictionarySize > LZMAInputStream.DICT_SIZE_MAX) { throw new ArchiveException("Dictionary larger than 4 GiB maximum size"); }
