cppcheck is a static C/C++ code analyzer that checks for memory leaks, mismatching allocation-deallocation, buffer overrun, and many more problems. Its goal is to produce no false positives.
Release Notes: This release fixes a bug in compiled patterns.
Release Notes: Support for Java and C# code has been removed. A new option --language= for treating code as a specific language. Support for GCC binary number syntax (0b...). Simplification of well-known math.h functions. The check for a variable being assigned a value and never used also handles reassignments. Fixes for several false negatives in the buffer overrun check. Detection of more inadequate comparisons of Boolean variables. Better detection of mismatching and assignments and comparisons with bitwise operations. A check for variables being reassigned a value before the old one has been used. Detection of freeing invalid addresses.
Release Notes: A segmentation fault was fixed.
Release Notes: This release fixes a crash with the --errorlist option.
Release Notes: cppchek's understanding of C++ code was improved in many ways. This makes cppcheck find more errors and report fewer false positives. For example, the calculation of string lenghts, used to determine if a call to a printf-like function will or may overflow the buffer, was improved in the case of escaped characters in the string. MathLib is now used to recognize variations of 0, such as 0L.