Highlights
Integer Overflow: 18 prior fixes. Scrutinize any change in this area.
pngrutil.c: most-fixed (9 issues). Treat as high-risk during review.
30 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.
Integer Overflow: Integer overflows in row width and channel multiplications (e.g., in row_info->rowbytes calculations) are a frequent root cause of undersized heap allocations, leading to critical heap buffer overflows during decoding.
Double Free: Improper cleanup handling in png_struct pointers during allocation failures can trigger double-free conditions if pointers are not immediately zeroed after liberation.
Use After Free: Aliasing pointers between png_struct and png_info structures without allocating independent memory copies leads to use-after-free vulnerabilities when one structure is freed prematurely.