liblzma: Fix a memory leak in stream_encoder.c.
It leaks old filter options structures (hundred bytes or so) every time the lzma_stream is reinitialized. With the xz tool, this happens when compressing multiple files.
This commit is contained in:
parent
1688901321
commit
bd432015d3
|
@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
|
||||||
next->end = &stream_encoder_end;
|
next->end = &stream_encoder_end;
|
||||||
next->update = &stream_encoder_update;
|
next->update = &stream_encoder_update;
|
||||||
|
|
||||||
|
next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
|
||||||
next->coder->block_encoder = LZMA_NEXT_CODER_INIT;
|
next->coder->block_encoder = LZMA_NEXT_CODER_INIT;
|
||||||
next->coder->index_encoder = LZMA_NEXT_CODER_INIT;
|
next->coder->index_encoder = LZMA_NEXT_CODER_INIT;
|
||||||
next->coder->index = NULL;
|
next->coder->index = NULL;
|
||||||
|
@ -289,7 +290,6 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
|
||||||
next->coder->sequence = SEQ_STREAM_HEADER;
|
next->coder->sequence = SEQ_STREAM_HEADER;
|
||||||
next->coder->block_options.version = 0;
|
next->coder->block_options.version = 0;
|
||||||
next->coder->block_options.check = check;
|
next->coder->block_options.check = check;
|
||||||
next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
|
|
||||||
|
|
||||||
// Initialize the Index
|
// Initialize the Index
|
||||||
lzma_index_end(next->coder->index, allocator);
|
lzma_index_end(next->coder->index, allocator);
|
||||||
|
|
Loading…
Reference in New Issue