Highlights
Memory Corruption: 6 prior fixes. Scrutinize any change in this area.
bindgen: most-fixed (3 issues). Treat as high-risk during review.
11 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: Incorrect lifetime annotations during pointer casting or transmutations can allow temporary references to survive beyond their valid lifetime, leading to use-after-free and arbitrary memory corruption. Ensure strict lifetime bounds are explicitly emitted on raw pointer transformations.
Memory Corruption: Writing to uninitialized out-parameters using raw dereference assignment causes Rust's compiler to try dropping the uninitialized memory. Code generation must emit core::ptr::write for raw pointers to bypass Rust's drop semantics.
Thread Safety Violations: Generating WinRT delegate closures as FnMut rather than Fn allow concurrent execution to trigger data races when called from multiple thread boundaries. Enforcing Fn and Send trait constraints on delegates is critical.