xz-analysis-mirror/src/liblzma
Lasse Collin dd13b66bf5 liblzma: Fix possibility of incorrect LZMA_BUF_ERROR.
lzma_code() could incorrectly return LZMA_BUF_ERROR if
all of the following was true:

  - The caller knows how many bytes of output to expect
    and only provides that much output space.

  - When the last output bytes are decoded, the
    caller-provided input buffer ends right before
    the LZMA2 end of payload marker. So LZMA2 won't
    provide more output anymore, but it won't know it
    yet and thus won't return LZMA_STREAM_END yet.

  - A BCJ filter is in use and it hasn't left any
    unfiltered bytes in the temp buffer. This can happen
    with any BCJ filter, but in practice it's more likely
    with filters other than the x86 BCJ.

Another situation where the bug can be triggered happens
if the uncompressed size is zero bytes and no output space
is provided. In this case the decompression can fail even
if the whole input file is given to lzma_code().

A similar bug was fixed in XZ Embedded on 2011-09-19.
2012-05-29 12:54:47 +03:00
..
api Bump version and soname for 5.0.3. 2011-05-21 16:59:22 +03:00
check Fix jl -> jb in ASM files. 2010-02-12 12:41:20 +02:00
common liblzma: Handle allocation failures correctly in lzma_index_init(). 2011-05-28 09:44:07 +03:00
delta Add underscores to attributes (__attribute((__foo__))). 2011-05-17 12:27:22 +03:00
lz liblzma: Remove unneeded semicolon. 2011-06-16 12:16:05 +03:00
lzma Remove doubled words from documentation and comments. 2011-04-12 12:03:31 +03:00
rangecoder Build system fixes 2009-06-30 17:09:57 +03:00
simple liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. 2012-05-29 12:54:47 +03:00
Makefile.am Bump version and soname for 5.0.3. 2011-05-21 16:59:22 +03:00
liblzma.pc.in Use PACKAGE_URL instead of custom PACKAGE_HOMEPAGE. 2010-01-27 13:31:03 +02:00
liblzma_w32res.rc Added public domain notice into a few files. 2009-07-18 11:26:39 +03:00