Highlights
Denial of Service: 10 prior fixes. Scrutinize any change in this area.
MySQLdb/_mysql.c: most-fixed (6 issues). Treat as high-risk during review.
2 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.
Denial of Service: Frequent memory and reference leaks occur during connection initialization, query result storage, and connection termination, eventually leading to application memory exhaustion and DoS. Tight reference lifecycle management is essential during error propagation.
Memory Corruption: Mismatches between Python-allocated types and custom deallocators, or incorrect format specifier mapping during PyArg_ParseTuple parsing of system values (e.g., using 'i' instead of 'k' for a 64-bit PID), pose severe memory corruption risks.
Denial of Service: Result objects and their associated memory allocations (such as tuples holding row results) routinely suffer from reference counting errors on initialization failure and row fetching operations, leading to leaks.