| From: Lasse Collin <lasse.collin@tukaani.org> |
| Date: Sat, 2 Apr 2011 14:49:56 +0300 |
| Subject: 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. |
| --- |
| src/liblzma/common/stream_encoder.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/src/liblzma/common/stream_encoder.c b/src/liblzma/common/stream_encoder.c |
| index 48d91da7..97a7a23a 100644 |
| --- a/src/liblzma/common/stream_encoder.c |
| +++ b/src/liblzma/common/stream_encoder.c |
| @@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, |
| next->end = &stream_encoder_end; |
| next->update = &stream_encoder_update; |
| |
| + next->coder->filters[0].id = LZMA_VLI_UNKNOWN; |
| next->coder->block_encoder = LZMA_NEXT_CODER_INIT; |
| next->coder->index_encoder = LZMA_NEXT_CODER_INIT; |
| 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->block_options.version = 0; |
| next->coder->block_options.check = check; |
| - next->coder->filters[0].id = LZMA_VLI_UNKNOWN; |
| |
| // Initialize the Index |
| lzma_index_end(next->coder->index, allocator); |
| -- |
| 1.7.10.2 |
| |