Highlights
Memory Corruption: 2 prior fixes. Scrutinize any change in this area.
src/lz77/default.rs: most-fixed (2 issues). Treat as high-risk during review.
3 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Memory Safety: Unsound use of `mem::uninitialized` and `mem::forget` to perform state transitions within Gzip decoder operations can cause use-after-free or double-free vulnerabilities if a panic occurs during the transition. This is directly related to the critical vulnerability class noted in CVE-2019-15552.
Memory Corruption: Raw pointer arithmetic and non-overlapping copies (`ptr::copy_nonoverlapping`) during DEFLATE decoding can lead to out-of-bounds writes if input stream length calculations are bypassed. This bypass is mitigated by using safe slice APIs like `split_at_mut`.
Memory Corruption: Unchecked indexing (`get_unchecked`) within the LZ77 encoder's prefix table search can allow arbitrary out-of-bounds memory access if malicious boundaries are fed to the encoder.