aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/common/block_decoder.h
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-11-23 21:26:21 +0200
committerLasse Collin <lasse.collin@tukaani.org>2022-11-23 21:26:21 +0200
commit10430fbf3820dafd4eafd38ec8be161a6978ed2b (patch)
tree49bcef8fca97be3bb20ea2c17d9fb74dedc4a4aa /src/liblzma/common/block_decoder.h
parentliblzma: Fix language in a comment. (diff)
downloadxz-10430fbf3820dafd4eafd38ec8be161a6978ed2b.tar.xz
liblzma: Fix invalid free() after memory allocation failure.
The bug was in the single-threaded .xz Stream encoder in the code that is used for both re-initialization and for lzma_filters_update(). To trigger it, an application had to either re-initialize an existing encoder instance with lzma_stream_encoder() or use lzma_filters_update(), and then one of the 1-4 tiny allocations in lzma_filters_copy() (called from stream_encoder_update()) must fail. An error was correctly reported but the encoder state was corrupted. This is related to the recent fix in f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but it wasn't enough to fix the main problem in stream_encoder.c.
Diffstat (limited to 'src/liblzma/common/block_decoder.h')
0 files changed, 0 insertions, 0 deletions