xz/src/liblzma
Lasse Collin d8db706acb 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-28 20:42:11 +03:00
..
api Bump the version number to 5.1.1alpha and liblzma soname to 5.0.99. 2011-04-12 12:48:31 +03:00
check liblzma: Try to use SHA-256 from the operating system. 2011-05-21 15:08:44 +03:00
common liblzma: Fix invalid free() in the threaded encoder. 2011-10-23 17:08:14 +03:00
delta Add underscores to attributes (__attribute((__foo__))). 2011-05-17 11:54:38 +03:00
lz liblzma: Remove unneeded semicolon. 2011-06-16 12:15:29 +03:00
lzma Remove doubled words from documentation and comments. 2011-04-12 11:59:49 +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-28 20:42:11 +03:00
Makefile.am liblzma: Use symbol versioning. 2011-05-28 15:55:39 +03:00
liblzma.map liblzma: Use symbol versioning. 2011-05-28 15:55:39 +03:00
liblzma.pc.in liblzma: Fix Libs.private in liblzma.pc to include -lrt when needed. 2012-04-19 14:02:25 +03:00
liblzma_w32res.rc Added public domain notice into a few files. 2009-07-18 11:26:39 +03:00
validate_map.sh liblzma: Use symbol versioning. 2011-05-28 15:55:39 +03:00