Uploaded image for project: 'Commons Compress'
  1. Commons Compress
  2. COMPRESS-650

LZ4 compressor throws IndexOutOfBoundsException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.24.0
    • 1.25.0
    • None
    • None

    Description

      When passing data that is larger than the block size to the write method, the FramedLZ4CompressorOutputStream will throw an IndexOutOfBoundsException. 

      java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
      	at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
      	at java.util.LinkedList.get(LinkedList.java:476)
      	at org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorOutputStream.rewriteLastPairs(BlockLZ4CompressorOutputStream.java:453)
      	at org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorOutputStream.writeFinalLiteralBlock(BlockLZ4CompressorOutputStream.java:490)
      	at org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorOutputStream.lambda$0(BlockLZ4CompressorOutputStream.java:244)
      	at org.apache.commons.compress.compressors.lz77support.LZ77Compressor.finish(LZ77Compressor.java:387)
      	at org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorOutputStream.finish(BlockLZ4CompressorOutputStream.java:372)
      	at org.apache.commons.compress.compressors.lz4.BlockLZ4CompressorOutputStream.close(BlockLZ4CompressorOutputStream.java:308)
      	at org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStream.flushBlock(FramedLZ4CompressorOutputStream.java:250)
      	at org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStream.write(FramedLZ4CompressorOutputStream.java:283)
      	at java.io.OutputStream.write(OutputStream.java:75)
      	at org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorRoundtripTest.test64KMultipleBlocks(FramedLZ4CompressorRoundtripTest.java:114)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at java.util.ArrayList.forEach(ArrayList.java:1259)
      	at java.util.ArrayList.forEach(ArrayList.java:1259)
      

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              cpreisler Chad Preisler
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: