gendx / lzma-rs

An LZMA decoder written in pure Rust
MIT License
127 stars 27 forks source link

Problems when porting lzma code Java -> Rust #89

Open Niedzwiedzw opened 2 years ago

Niedzwiedzw commented 2 years ago

Hey, I'm porting a pretty old application which utilizes 7zip and AES. Thing is, for AES to work the buffer needs to be of length dividable by 16. This is a problem, because adding trailing zeroes (like the old java implementation did) crashes the program with Found end-of-stream marker but more bytes are available error. Handling the error doesn't help, because output stream is empty. Would it be a problem to add support for such behaviour? My project really depends on it :)

Niedzwiedzw commented 2 years ago

https://github.com/gendx/lzma-rs/pull/90 this fixes it for me, but I'm not sure whether you'd accept such solution as it's more of a quick dirty hack than a solution. Maybe a feature flag like allow-trailing-bytes would be better solution here