2626
2727import com .google .common .collect .ImmutableMap ;
2828import net .jpountz .lz4 .LZ4Factory ;
29- import net .jpountz .lz4 .LZ4FastDecompressor ;
29+ import net .jpountz .lz4 .LZ4SafeDecompressor ;
3030import net .jpountz .xxhash .XXHashFactory ;
3131import org .slf4j .Logger ;
3232import org .slf4j .LoggerFactory ;
3333
3434public class Lz4Decompressor extends Lz4Trait implements Decompressor {
3535 private static final Logger logger = LoggerFactory .getLogger (Lz4Decompressor .class );
3636
37- private final LZ4FastDecompressor decompressor ;
37+ private final LZ4SafeDecompressor decompressor ;
3838 private final Checksum checksum ;
3939
4040 private final Map <String , Supplier <XXHashFactory >> xxHashFactories =
@@ -47,7 +47,7 @@ public class Lz4Decompressor extends Lz4Trait implements Decompressor {
4747 XXHashFactory ::unsafeInstance );
4848
4949 public Lz4Decompressor (Option <String > xxHashInstance ) {
50- decompressor = LZ4Factory .fastestInstance ().fastDecompressor ();
50+ decompressor = LZ4Factory .safeInstance ().safeDecompressor ();
5151 checksum = getXXHashFactory (xxHashInstance ).newStreamingHash32 (DEFAULT_SEED ).asChecksum ();
5252 }
5353
@@ -68,7 +68,7 @@ public int decompress(byte[] src, byte[] dst, int dstOff) throws IOException {
6868 System .arraycopy (src , HEADER_LENGTH , dst , dstOff , originalLen );
6969 break ;
7070 case COMPRESSION_METHOD_LZ4 :
71- int compressedLen2 = decompressor .decompress (src , HEADER_LENGTH , dst , dstOff , originalLen );
71+ int compressedLen2 = decompressor .decompress (src , HEADER_LENGTH , originalLen , dst , dstOff );
7272 if (compressedLen != compressedLen2 ) {
7373 throw new IOException (
7474 "Compressed length corrupted! expected: "
0 commit comments