Highlights
Memory Corruption: 2 prior fixes. Scrutinize any change in this area.
freelist.go: most-fixed (1 issue). 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 Corruption: Incorrect slice indexing during freelist page deserialization can cause out-of-bounds slice access when reading the database file. This can lead to application crashes or potentially arbitrary memory disclosure during database open/recovery operations.
Memory Corruption: Slices constructed directly from raw page pointers that do not restrict their capacity allow callers to perform slice appends that overwrite adjacent database memory in-use, leading to memory corruption or database file corruption.
Memory Corruption: The database is susceptible to out-of-bounds reads leading to a Denial of Service (DoS) when encountering corrupted or crafted database branch pages containing zero elements.