A tool for static C/C++ code analysis
This program tries to detect bugs that your C/C++ compiler don't see. Cppcheck is versatile. You can check non-standard code that includes various compiler extensions, inline assembly code, etc. Checking covers for example these errors:
* Out of bounds
* Uninitialized member variable 'classname::varname'
* Using 'memfunc' on class
* Using 'memfunc' on struct that contains a 'std::classname'
* Class Base which is inherited by class Derived does not have a virtual destructor
* Memory leak: varname
* Resource leak: varname
* Deallocating a deallocated pointer: varname
* Using 'varname' after it is deallocated / released
* Invalid radix in call to strtol or strtoul. Must be 0 or 2-36
* Overlapping data buffer varname
* Unsigned division. The result will be wrong.
* Unusual pointer arithmetic
See http://cppcheck.wiki.sourceforge.net/ for more details.
- Developed at devel:tools
- Sources inherited from project openSUSE:Factory
-
2
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Backports:SLE-15-SP4:FactoryCandidates/cppcheck && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
cppcheck-2.9.tar.gz | 0003916529 3.74 MB | |
cppcheck.changes | 0000036250 35.4 KB | |
cppcheck.spec | 0000003765 3.68 KB |
Revision 27 (latest revision is 46)
- update to 2.9: * restored check for negative allocation (new[]) and negative VLA sizes from cppcheck 1.87 (LCppC backport) * replaced hardcoded check for pipe() buffer size by library configuration option (LCppC backport) * on Windows the callstack is now being written to the output specific via "--exception-handling" * make it possible to disable the various exception handling parts via the CMake options "NO_UNIX_SIGNAL_HANDLING", "NO_UNIX_BACKTRACE_SUPPORT" and "NO_WINDOWS_SEH" * detect more redundant calls of std::string::c_str(), std::string::substr(), and unnecessary copies of containers * Add a match function to addon similiar to Token::Match used internally by cppcheck: * | for either-or tokens(ie struct|class to match either struct or class) * !! to negate a token * It supports the %any%, %assign%, %comp%, %name%, %op%, %or%, %oror%, and %var% keywords * It supports (*), {*}, [*], and <*> to match links * @ can be added to bind the token to a name * ** can be used to match until a token * Add math functions which can be used in library function definition. This enables evaluation of more math functions in ValueFlow * Further improve lifetime analysis with this pointers * Propagate condition values from outer function calls * Add debug intrinsics debug_valueflow and debug_valuetype to show more detail including source backtraces
Comments 0