You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You've found a bug that's been in the code for a really long time. The tl;dr is that LZMA encoder objects can be cloned and clones would internally still point to data from the original instance. Depending on whether or not the original instance is freed, if a new instance gets allocated at the same address, or how quickly the memory allocator reuses the freed memory, this would cause lzma_stream_encoder to be called with invalid options.
Fortunately, it's an easy fix. I'll prepare a new release ASAP.
When cloning an `lzma_block_compressor`, the cloned `filters_` would
point to the original `opt_lzma_` instead of the cloned one. While
this is obviously a bug, the code would usually work and only
occasionally bail out with an lzma error.
This change does away with having `filters_` as a member and rather
builds the array each time `compress` is called. The overhead is
completely negligible.
When cloning an `lzma_block_compressor`, the cloned `filters_` would
point to the original `opt_lzma_` instead of the cloned one. While
this is obviously a bug, the code would usually work and only
occasionally bail out with an lzma error.
This change does away with having `filters_` as a member and rather
builds the array each time `compress` is called. The overhead is
completely negligible.
use bat in windows 11
The text was updated successfully, but these errors were encountered: