aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-09-30 12:06:13 +0300
committerLasse Collin <lasse.collin@tukaani.org>2022-09-30 12:20:46 +0300
commit369afb51991e91a5c3a23c4ae3872329a403eb31 (patch)
tree4624fa4987590a3597dcf433443bec23dcc8de9a
parentliblzma: Add dest and src NULL checks to lzma_index_cat. (diff)
downloadxz-369afb51991e91a5c3a23c4ae3872329a403eb31.tar.xz
liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.
-rw-r--r--src/liblzma/api/lzma/base.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
index 7daeddbd..51421353 100644
--- a/src/liblzma/api/lzma/base.h
+++ b/src/liblzma/api/lzma/base.h
@@ -145,6 +145,12 @@ typedef enum {
* specified memory usage limit. To continue decoding,
* the memory usage limit has to be increased with
* lzma_memlimit_set().
+ *
+ * liblzma 5.2.6 and earlier had a bug in single-threaded .xz
+ * decoder (lzma_stream_decoder()) which made it impossible
+ * to continue decoding after LZMA_MEMLIMIT_ERROR even if
+ * the limit was increased using lzma_memlimit_set().
+ * Other decoders worked correctly.
*/
LZMA_FORMAT_ERROR = 7,
@@ -649,6 +655,11 @@ extern LZMA_API(uint64_t) lzma_memlimit_get(const lzma_stream *strm)
* return LZMA_OK. Later versions treat 0 as if 1 had been specified (so
* lzma_memlimit_get() will return 1 even if you specify 0 here).
*
+ * liblzma 5.2.6 and earlier had a bug in single-threaded .xz decoder
+ * (lzma_stream_decoder()) which made it impossible to continue decoding
+ * after LZMA_MEMLIMIT_ERROR even if the limit was increased using
+ * lzma_memlimit_set(). Other decoders worked correctly.
+ *
* \return - LZMA_OK: New memory usage limit successfully set.
* - LZMA_MEMLIMIT_ERROR: The new limit is too small.
* The limit was not changed.