A tool for static C/C++ code analysis

Edit Package cppcheck
http://cppcheck.wiki.sourceforge.net/

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.

Refresh
Refresh
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)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1004372 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 27)
- 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
openSUSE Build Service is sponsored by