tool for static C/C++ code analysis
Cppcheck is a command-line tool that tries to detect bugs that your C/C++ compiler doesn't see. It is versatile, and can check non-standard code including various compiler extensions, inline assembly code, etc. Its internal preprocessor can handle includes, macros, and several preprocessor commands. While Cppcheck is highly configurable, you can start using it just by giving it a path to the source code.
It includes checks for: * pointers to out-of-scope auto variables; * assignment of auto variables to an effective parameter of a function; * out-of-bounds errors in arrays and STL; * missing class constructors; * variables not initialized by a constructor; * use of memset, memcpy, etcetera on a class;
- non-virtual destructors for base classes; * operator= not
returning a constant reference to itself; * use of deprecated functions (mktemp, gets, scanf); * exceptions thrown in destructors; * memory leaks in class or function variables; * C-style pointer cast in C++ code; * redundant if; * misuse of the strtol or sprintf functions; * unsigned division or division by zero; * unused functions and struct members; * passing parameters by value; * misuse of signed char variables; * unusual pointer arithmetic (such as "abc" + 'd'); * dereferenced null pointers; * incomplete statements; * misuse of iterators when iterating through a container; * dereferencing of erased iterators; * use of invalidated vector iterators/pointers;
|License||Verified by||Verified on||Notes|
|License:GPLv3orlater||Debian||20 March 2013|
GPL-3+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-3'file.
|Zlib||Debian||20 March 2013|
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any sourcedistribution.
|License:GPLv2orlater||Debian||20 March 2013|
GPL-2+ On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-2'file.
Leaders and contributors
Resources and communication
This entry (in part or in whole) was last reviewed on 8 February 2018.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.