Thanks to visit codestin.com
Credit goes to github.com

Skip to content

1.8.1 diffoscope output

Jonas Konrad edited this page Dec 3, 2025 · 2 revisions

The 1.8.1 patch to fix CVE-2025-12183 was designed to have minimal changes compared with 1.8.0, to ensure compatibility. The diffoscope output of the jar files is:

Comparing lz4-java-1.8.0.jar & lz4-java-1.8.1.jar

zipinfo {}

@@ -1,107 +1,108 @@
-Zip file size: 682804 bytes, number of entries: 105
--rw----     2.0 fat     1068 bX defN 21-Jun-19 06:30 META-INF/MANIFEST.MF
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/lz4/
--rw----     2.0 fat     6078 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4BlockInputStream.class
--rw----     2.0 fat     5989 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4BlockOutputStream.class
--rw----     2.0 fat      693 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4ByteBufferUtils$Match.class
--rw----     2.0 fat     6237 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4ByteBufferUtils.class
--rw----     2.0 fat     1741 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Compressor.class
--rw----     2.0 fat     2486 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4CompressorWithLength.class
--rw----     2.0 fat     1778 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Constants.class
--rw----     2.0 fat      245 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Decompressor.class
--rw----     2.0 fat     3441 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4DecompressorWithLength.class
--rw----     2.0 fat      678 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Exception.class
--rw----     2.0 fat     6786 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Factory.class
--rw----     2.0 fat     1502 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FastDecompressor.class
--rw----     2.0 fat     9384 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameInputStream.class
--rw----     2.0 fat      243 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$1.class
--rw----     2.0 fat     1596 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$BD.class
--rw----     2.0 fat     2101 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$BLOCKSIZE.class
--rw----     2.0 fat     1730 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$FLG$Bits.class
--rw----     2.0 fat     2653 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$FLG.class
--rw----     2.0 fat     2225 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream$FrameInfo.class
--rw----     2.0 fat     7121 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4FrameOutputStream.class
--rw----     2.0 fat     2470 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4HCJNICompressor.class
--rw----     2.0 fat     5771 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4HCJavaSafeCompressor$HashTable.class
--rw----     2.0 fat     5910 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4HCJavaSafeCompressor.class
--rw----     2.0 fat     5789 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4HCJavaUnsafeCompressor$HashTable.class
--rw----     2.0 fat     5928 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4HCJavaUnsafeCompressor.class
--rw----     2.0 fat     1252 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JNI.class
--rw----     2.0 fat     2384 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JNICompressor.class
--rw----     2.0 fat     2677 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JNIFastDecompressor.class
--rw----     2.0 fat     2674 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JNISafeDecompressor.class
--rw----     2.0 fat     7368 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaSafeCompressor.class
--rw----     2.0 fat     3847 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaSafeFastDecompressor.class
--rw----     2.0 fat     4050 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaSafeSafeDecompressor.class
--rw----     2.0 fat     7378 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaUnsafeCompressor.class
--rw----     2.0 fat     3857 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaUnsafeFastDecompressor.class
--rw----     2.0 fat     4060 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4JavaUnsafeSafeDecompressor.class
--rw----     2.0 fat     1714 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4SafeDecompressor.class
--rw----     2.0 fat      669 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4SafeUtils$Match.class
--rw----     2.0 fat     4716 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4SafeUtils.class
--rw----     2.0 fat      289 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4UnknownSizeDecompressor.class
--rw----     2.0 fat     5028 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4UnsafeUtils.class
--rw----     2.0 fat      653 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Utils$Match.class
--rw----     2.0 fat     2016 bl defN 21-Jun-19 06:30 net/jpountz/lz4/LZ4Utils.class
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/
--rw----     2.0 fat     3976 bl defN 21-Jun-19 06:30 net/jpountz/util/ByteBufferUtils.class
--rw----     2.0 fat      839 bl defN 21-Jun-19 06:30 net/jpountz/util/Native$1.class
--rw----     2.0 fat     1414 bl defN 21-Jun-19 06:30 net/jpountz/util/Native$OS.class
--rw----     2.0 fat     6039 bl defN 21-Jun-19 06:30 net/jpountz/util/Native.class
--rw----     2.0 fat     3006 bl defN 21-Jun-19 06:30 net/jpountz/util/SafeUtils.class
--rw----     2.0 fat     5162 bl defN 21-Jun-19 06:30 net/jpountz/util/UnsafeUtils.class
--rw----     2.0 fat     1477 bl defN 21-Jun-19 06:30 net/jpountz/util/Utils.class
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/darwin/
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/darwin/aarch64/
--rw----     2.0 fat   173774 bl defN 21-Jun-10 23:11 net/jpountz/util/darwin/aarch64/liblz4-java.dylib
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/darwin/x86_64/
--rw----     2.0 fat   205000 bl defN 21-May-27 16:24 net/jpountz/util/darwin/x86_64/liblz4-java.dylib
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/aarch64/
--rw----     2.0 fat    86081 bl defN 21-Jun-10 23:11 net/jpountz/util/linux/aarch64/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/amd64/
--rw----     2.0 fat   154886 bl defN 21-May-27 16:24 net/jpountz/util/linux/amd64/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/i386/
--rw----     2.0 fat    68840 bl defN 21-May-27 05:12 net/jpountz/util/linux/i386/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/ppc64le/
--rw----     2.0 fat   208664 bl defN 21-Jun-10 23:11 net/jpountz/util/linux/ppc64le/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/linux/s390x/
--rw----     2.0 fat    97208 bl defN 21-May-27 16:24 net/jpountz/util/linux/s390x/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/win32/
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/util/win32/amd64/
--rw----     2.0 fat   520219 bl defN 21-Jun-10 23:11 net/jpountz/util/win32/amd64/liblz4-java.so
--rw----     2.0 fat        0 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/
--rw----     2.0 fat      783 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/AbstractStreamingXXHash32Java.class
--rw----     2.0 fat      795 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/AbstractStreamingXXHash64Java.class
--rw----     2.0 fat     1171 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32$1.class
--rw----     2.0 fat      296 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32$Factory.class
--rw----     2.0 fat     1227 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32.class
--rw----     2.0 fat      836 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JNI$Factory.class
--rw----     2.0 fat     1567 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JNI.class
--rw----     2.0 fat      856 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JavaSafe$Factory.class
--rw----     2.0 fat     2294 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JavaSafe.class
--rw----     2.0 fat      864 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JavaUnsafe$Factory.class
--rw----     2.0 fat     2336 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash32JavaUnsafe.class
--rw----     2.0 fat     1151 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64$1.class
--rw----     2.0 fat      296 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64$Factory.class
--rw----     2.0 fat     1227 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64.class
--rw----     2.0 fat      836 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JNI$Factory.class
--rw----     2.0 fat     1553 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JNI.class
--rw----     2.0 fat      856 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JavaSafe$Factory.class
--rw----     2.0 fat     2724 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JavaSafe.class
--rw----     2.0 fat      864 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JavaUnsafe$Factory.class
--rw----     2.0 fat     2766 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/StreamingXXHash64JavaUnsafe.class
--rw----     2.0 fat      863 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash32.class
--rw----     2.0 fat     1458 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash32JNI.class
--rw----     2.0 fat     2740 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash32JavaSafe.class
--rw----     2.0 fat     2748 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash32JavaUnsafe.class
--rw----     2.0 fat      865 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash64.class
--rw----     2.0 fat     1462 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash64JNI.class
--rw----     2.0 fat     3533 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash64JavaSafe.class
--rw----     2.0 fat     3541 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHash64JavaUnsafe.class
--rw----     2.0 fat     1278 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHashConstants.class
--rw----     2.0 fat     5679 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHashFactory.class
--rw----     2.0 fat     1331 bl defN 21-Jun-19 06:30 net/jpountz/xxhash/XXHashJNI.class
-105 files, 1733656 bytes uncompressed, 664690 bytes compressed:  61.7%
+Zip file size: 683071 bytes, number of entries: 106
+-rw----     2.0 fat        0 bX defN 80-Jan-01 00:00 META-INF/
+-rw----     2.0 fat      721 bl defN 80-Jan-01 00:00 META-INF/MANIFEST.MF
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/lz4/
+-rw----     2.0 fat     6078 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4BlockInputStream.class
+-rw----     2.0 fat     5989 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4BlockOutputStream.class
+-rw----     2.0 fat      693 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4ByteBufferUtils$Match.class
+-rw----     2.0 fat     6237 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4ByteBufferUtils.class
+-rw----     2.0 fat     1741 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Compressor.class
+-rw----     2.0 fat     2486 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4CompressorWithLength.class
+-rw----     2.0 fat     1778 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Constants.class
+-rw----     2.0 fat      245 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Decompressor.class
+-rw----     2.0 fat     3441 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4DecompressorWithLength.class
+-rw----     2.0 fat      678 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Exception.class
+-rw----     2.0 fat     7366 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Factory.class
+-rw----     2.0 fat     1502 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FastDecompressor.class
+-rw----     2.0 fat     9384 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameInputStream.class
+-rw----     2.0 fat      243 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$1.class
+-rw----     2.0 fat     1596 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$BD.class
+-rw----     2.0 fat     2101 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$BLOCKSIZE.class
+-rw----     2.0 fat     1730 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$FLG$Bits.class
+-rw----     2.0 fat     2653 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$FLG.class
+-rw----     2.0 fat     2225 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream$FrameInfo.class
+-rw----     2.0 fat     7121 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4FrameOutputStream.class
+-rw----     2.0 fat     2470 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4HCJNICompressor.class
+-rw----     2.0 fat     5771 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4HCJavaSafeCompressor$HashTable.class
+-rw----     2.0 fat     5910 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4HCJavaSafeCompressor.class
+-rw----     2.0 fat     5789 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4HCJavaUnsafeCompressor$HashTable.class
+-rw----     2.0 fat     5928 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4HCJavaUnsafeCompressor.class
+-rw----     2.0 fat     1252 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JNI.class
+-rw----     2.0 fat     2384 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JNICompressor.class
+-rw----     2.0 fat     2677 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JNIFastDecompressor.class
+-rw----     2.0 fat     2674 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JNISafeDecompressor.class
+-rw----     2.0 fat     7368 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaSafeCompressor.class
+-rw----     2.0 fat     3847 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaSafeFastDecompressor.class
+-rw----     2.0 fat     4050 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaSafeSafeDecompressor.class
+-rw----     2.0 fat     7378 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaUnsafeCompressor.class
+-rw----     2.0 fat     3857 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaUnsafeFastDecompressor.class
+-rw----     2.0 fat     4060 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4JavaUnsafeSafeDecompressor.class
+-rw----     2.0 fat     1714 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4SafeDecompressor.class
+-rw----     2.0 fat      669 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4SafeUtils$Match.class
+-rw----     2.0 fat     4716 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4SafeUtils.class
+-rw----     2.0 fat      289 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4UnknownSizeDecompressor.class
+-rw----     2.0 fat     5028 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4UnsafeUtils.class
+-rw----     2.0 fat      653 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Utils$Match.class
+-rw----     2.0 fat     2016 bl defN 80-Jan-01 00:00 net/jpountz/lz4/LZ4Utils.class
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/
+-rw----     2.0 fat     3976 bl defN 80-Jan-01 00:00 net/jpountz/util/ByteBufferUtils.class
+-rw----     2.0 fat      839 bl defN 80-Jan-01 00:00 net/jpountz/util/Native$1.class
+-rw----     2.0 fat     1414 bl defN 80-Jan-01 00:00 net/jpountz/util/Native$OS.class
+-rw----     2.0 fat     6039 bl defN 80-Jan-01 00:00 net/jpountz/util/Native.class
+-rw----     2.0 fat     3006 bl defN 80-Jan-01 00:00 net/jpountz/util/SafeUtils.class
+-rw----     2.0 fat     5162 bl defN 80-Jan-01 00:00 net/jpountz/util/UnsafeUtils.class
+-rw----     2.0 fat     1477 bl defN 80-Jan-01 00:00 net/jpountz/util/Utils.class
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/darwin/
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/darwin/aarch64/
+-rw----     2.0 fat   173774 bl defN 80-Jan-01 00:00 net/jpountz/util/darwin/aarch64/liblz4-java.dylib
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/darwin/x86_64/
+-rw----     2.0 fat   205000 bl defN 80-Jan-01 00:00 net/jpountz/util/darwin/x86_64/liblz4-java.dylib
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/aarch64/
+-rw----     2.0 fat    86081 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/aarch64/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/amd64/
+-rw----     2.0 fat   154886 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/amd64/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/i386/
+-rw----     2.0 fat    68840 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/i386/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/ppc64le/
+-rw----     2.0 fat   208664 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/ppc64le/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/s390x/
+-rw----     2.0 fat    97208 bl defN 80-Jan-01 00:00 net/jpountz/util/linux/s390x/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/win32/
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/util/win32/amd64/
+-rw----     2.0 fat   520219 bl defN 80-Jan-01 00:00 net/jpountz/util/win32/amd64/liblz4-java.so
+-rw----     2.0 fat        0 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/
+-rw----     2.0 fat      783 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/AbstractStreamingXXHash32Java.class
+-rw----     2.0 fat      795 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/AbstractStreamingXXHash64Java.class
+-rw----     2.0 fat     1171 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32$1.class
+-rw----     2.0 fat      296 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32$Factory.class
+-rw----     2.0 fat     1227 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32.class
+-rw----     2.0 fat      836 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JNI$Factory.class
+-rw----     2.0 fat     1567 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JNI.class
+-rw----     2.0 fat      856 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JavaSafe$Factory.class
+-rw----     2.0 fat     2294 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JavaSafe.class
+-rw----     2.0 fat      864 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JavaUnsafe$Factory.class
+-rw----     2.0 fat     2336 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash32JavaUnsafe.class
+-rw----     2.0 fat     1151 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64$1.class
+-rw----     2.0 fat      296 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64$Factory.class
+-rw----     2.0 fat     1227 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64.class
+-rw----     2.0 fat      836 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JNI$Factory.class
+-rw----     2.0 fat     1553 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JNI.class
+-rw----     2.0 fat      856 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JavaSafe$Factory.class
+-rw----     2.0 fat     2724 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JavaSafe.class
+-rw----     2.0 fat      864 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JavaUnsafe$Factory.class
+-rw----     2.0 fat     2766 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/StreamingXXHash64JavaUnsafe.class
+-rw----     2.0 fat      863 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash32.class
+-rw----     2.0 fat     1458 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash32JNI.class
+-rw----     2.0 fat     2740 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash32JavaSafe.class
+-rw----     2.0 fat     2748 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash32JavaUnsafe.class
+-rw----     2.0 fat      865 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash64.class
+-rw----     2.0 fat     1462 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash64JNI.class
+-rw----     2.0 fat     3533 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash64JavaSafe.class
+-rw----     2.0 fat     3541 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHash64JavaUnsafe.class
+-rw----     2.0 fat     1278 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHashConstants.class
+-rw----     2.0 fat     5679 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHashFactory.class
+-rw----     2.0 fat     1331 bl defN 80-Jan-01 00:00 net/jpountz/xxhash/XXHashJNI.class
+106 files, 1733889 bytes uncompressed, 664847 bytes compressed:  61.7%

zipnote «TEMP»/diffoscope_k3bc8x19_Downloads/tmpqdqymykd_.zip

@@ -1,7 +1,10 @@
+Filename: META-INF/
+Comment: 
+
 Filename: META-INF/MANIFEST.MF
 Comment: 
 
 Filename: net/
 Comment: 
 
 Filename: net/jpountz/

META-INF/MANIFEST.MF

@@ -1,24 +1,17 @@
 Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.9.15
 Automatic-Module-Name: org.lz4.java
-Bnd-LastModified: 1624084255636
+Build-Jdk-Spec: 21
 Bundle-ManifestVersion: 2
-Bundle-Name: LZ4 Java Compression
+Bundle-Name: lz4-java
 Bundle-SymbolicName: lz4-java
-Bundle-Version: 1.8.0
-Created-By: 1.7.0_302 (Azul Systems, Inc.)
-DSTAMP: 20210619
-Export-Package: net.jpountz.util.win32.amd64;version:="1.8.0",net.jpount
- z.util.darwin.x86_64;version:="1.8.0",net.jpountz.util;version:="1.8.0"
- ;uses:="sun.misc",net.jpountz.util.linux.ppc64le;version:="1.8.0",net.j
- pountz.xxhash;version:="1.8.0";uses:="net.jpountz.util",net.jpountz.lz4
- ;version:="1.8.0";uses:="net.jpountz.util,net.jpountz.xxhash",net.jpoun
- tz.util.linux.aarch64;version:="1.8.0",net.jpountz.util.linux.i386;vers
- ion:="1.8.0",net.jpountz.util.darwin.aarch64;version:="1.8.0",net.jpoun
- tz.util.linux.s390x;version:="1.8.0",net.jpountz.util.linux.amd64;versi
- on:="1.8.0"
-Import-Package: sun.misc;resolution:=optional
-Originally-Created-By: 1.7.0_302-b01 (Azul Systems, Inc.)
-TODAY: June 19 2021
-Tool: Bnd-1.50.0
-TSTAMP: 0630
+Bundle-Version: 0
+Import-Package: java.io,java.lang,java.lang.reflect,java.nio,java.util
+ ,java.util.zip,sun.misc
+Originally-Created-By: Maven JAR Plugin 3.4.1
+Private-Package: net.jpountz.lz4,net.jpountz.util,net.jpountz.util.dar
+ win.aarch64,net.jpountz.util.darwin.x86_64,net.jpountz.util.linux.aar
+ ch64,net.jpountz.util.linux.amd64,net.jpountz.util.linux.i386,net.jpo
+ untz.util.linux.ppc64le,net.jpountz.util.linux.s390x,net.jpountz.util
+ .win32.amd64,net.jpountz.xxhash
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.7))"
+

net/jpountz/lz4/LZ4Factory.class

procyon -ec {}

@@ -8,53 +8,72 @@
 import java.lang.reflect.Field;
 import net.jpountz.util.Native;
 import net.jpountz.util.Utils;
 
 public final class LZ4Factory
 {
     private static LZ4Factory NATIVE_INSTANCE;
+    private static LZ4Factory NATIVE_INSECURE_INSTANCE;
     private static LZ4Factory JAVA_UNSAFE_INSTANCE;
+    private static LZ4Factory JAVA_UNSAFE_INSECURE_INSTANCE;
     private static LZ4Factory JAVA_SAFE_INSTANCE;
     private final String impl;
     private final LZ4Compressor fastCompressor;
     private final LZ4Compressor highCompressor;
     private final LZ4FastDecompressor fastDecompressor;
     private final LZ4SafeDecompressor safeDecompressor;
     private final LZ4Compressor[] highCompressors;
     
-    private static LZ4Factory instance(final String impl) {
+    private static LZ4Factory instance(final String impl, final boolean insecureFastDecompressor) {
         try {
-            return new LZ4Factory(impl);
+            return new LZ4Factory(impl, insecureFastDecompressor);
         }
         catch (final Exception e) {
             throw new AssertionError((Object)e);
         }
     }
     
     public static synchronized LZ4Factory nativeInstance() {
         if (LZ4Factory.NATIVE_INSTANCE == null) {
-            LZ4Factory.NATIVE_INSTANCE = instance("JNI");
+            LZ4Factory.NATIVE_INSTANCE = instance("JNI", false);
         }
         return LZ4Factory.NATIVE_INSTANCE;
     }
     
+    @Deprecated
+    public static synchronized LZ4Factory nativeInsecureInstance() {
+        if (LZ4Factory.NATIVE_INSECURE_INSTANCE == null) {
+            LZ4Factory.NATIVE_INSECURE_INSTANCE = instance("JNI", true);
+        }
+        return LZ4Factory.NATIVE_INSECURE_INSTANCE;
+    }
+    
     public static synchronized LZ4Factory safeInstance() {
         if (LZ4Factory.JAVA_SAFE_INSTANCE == null) {
-            LZ4Factory.JAVA_SAFE_INSTANCE = instance("JavaSafe");
+            LZ4Factory.JAVA_SAFE_INSTANCE = instance("JavaSafe", false);
         }
         return LZ4Factory.JAVA_SAFE_INSTANCE;
     }
     
+    @Deprecated
     public static synchronized LZ4Factory unsafeInstance() {
         if (LZ4Factory.JAVA_UNSAFE_INSTANCE == null) {
-            LZ4Factory.JAVA_UNSAFE_INSTANCE = instance("JavaUnsafe");
+            LZ4Factory.JAVA_UNSAFE_INSTANCE = safeInstance();
         }
         return LZ4Factory.JAVA_UNSAFE_INSTANCE;
     }
     
+    @Deprecated
+    public static synchronized LZ4Factory unsafeInsecureInstance() {
+        if (LZ4Factory.JAVA_UNSAFE_INSECURE_INSTANCE == null) {
+            LZ4Factory.JAVA_UNSAFE_INSECURE_INSTANCE = instance("JavaUnsafe", true);
+        }
+        return LZ4Factory.JAVA_UNSAFE_INSECURE_INSTANCE;
+    }
+    
     public static LZ4Factory fastestJavaInstance() {
         if (Utils.isUnalignedAccessAllowed()) {
             try {
                 return unsafeInstance();
             }
             catch (final Throwable t) {
                 return safeInstance();
@@ -82,20 +101,25 @@
         ClassLoader loader = LZ4Factory.class.getClassLoader();
         loader = ((loader == null) ? ClassLoader.getSystemClassLoader() : loader);
         final Class<?> c = loader.loadClass(cls);
         final Field f = c.getField("INSTANCE");
         return (T)f.get(null);
     }
     
-    private LZ4Factory(final String impl) throws ClassNotFoundException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InstantiationException, InvocationTargetException {
+    private LZ4Factory(final String impl, final boolean insecureFastDecompressor) throws ClassNotFoundException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InstantiationException, InvocationTargetException {
         this.highCompressors = new LZ4Compressor[18];
         this.impl = impl;
         this.fastCompressor = classInstance("net.jpountz.lz4.LZ4" + impl + "Compressor");
         this.highCompressor = classInstance("net.jpountz.lz4.LZ4HC" + impl + "Compressor");
-        this.fastDecompressor = classInstance("net.jpountz.lz4.LZ4" + impl + "FastDecompressor");
+        if (insecureFastDecompressor) {
+            this.fastDecompressor = classInstance("net.jpountz.lz4.LZ4" + impl + "FastDecompressor");
+        }
+        else {
+            this.fastDecompressor = LZ4JavaSafeFastDecompressor.INSTANCE;
+        }
         this.safeDecompressor = classInstance("net.jpountz.lz4.LZ4" + impl + "SafeDecompressor");
         final Constructor<? extends LZ4Compressor> highConstructor = this.highCompressor.getClass().getDeclaredConstructor(Integer.TYPE);
         this.highCompressors[9] = this.highCompressor;
         for (int level = 1; level <= 17; ++level) {
             if (level != 9) {
                 this.highCompressors[level] = (LZ4Compressor)highConstructor.newInstance(Integer.valueOf(level));
             }