Highlights
Buffer Overflow: 16 prior fixes. Scrutinize any change in this area.
src/librawspeed/common/DngOpcodes.cpp: most-fixed (4 issues). Treat as high-risk during review.
44 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.
Buffer Overflow: Multiple fixes target out-of-bounds writes in LJPEG decompression, with sinks in dest[] writes, tile dimensions, and offsets. Incomplete validation of tile geometry and frame size has repeatedly led to heap corruption.
Integer Overflow: DNG opcode parsing uses attacker-controlled counts and sizes in arithmetic; fixes moved to 64-bit integers and added bounds checks to prevent overflow leading to out-of-bounds access.
Memory Corruption: Fuji decompressor constructor and header validation lacked checks on component count, data type, bytes per pixel, and block geometry, enabling memory corruption from malformed metadata.