Highlights
Race Condition: 2 prior fixes. Scrutinize any change in this area.
codec/helper_unsafe.go: most-fixed (3 issues). Treat as high-risk during review.
1 high-severity fix 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: stringView returns a pointer to a byte slice without keeping the backing array alive, leading to use-after-free if the caller holds the view past the slice's lifetime. This is the highest-severity historical issue and directly stems from unsafe zero-copy optimizations.
Race Condition: atomicTypeInfoSlice used non-atomic concurrent loads/stores of the length and data pointer, allowing torn reads and potential memory corruption under concurrent type-info lookups. The fix required atomic pointer load/store of the whole struct.
Race Condition: TypeInfo updates modified a shared backing array in place, causing data races when concurrent readers iterated the slice. The fix mandated creating a new slice on update, but any other path that mutates the cached slice in place remains a risk.