* STL: iterators and pointers are invalidated after erase
* STL: iterators may be invalidated by push_back and push_front when using vectors
* STL: range checking iterators with <
* Fixed many false positives
* Fixed bugs in the handling of templates
More than 100 real bugs have been discovered by cppcheck in various open source projects (22 bugs were discovered in the Linux Kernel).
All these bugs have been reported and are now fixed.
Cppcheck is an open source tool for statically checking C and C++ code for coding mistakes.
Cppcheck is under rapid development, constantly adding new checks while keeping the amount of false positives low.
Noise ratio is so low that a single person can easily check for example the Linux kernel with it in one night.... read more
Finally cppcheck-1.31 has been released.
We planned to release it on april 5th but there was a 1 week delay.
The release notes:
- Bug fix: Fix some false positives
- Bug fix: Fix invalid line numbers in error messages.
- Bug fix: Uninitialized variable checking was improved.
- Bug fix: All checks are more accurate due to several bug fixes in core functionality.
- Bug fix: "Unused function" error message output was fixed.
- Bug fix: Headers within header files where sometimes searched from wrong relative path.
- Bug fix: Better handling of floating point arithmetics.
- Improvement: Some new memory leaks are now detected.
- Improvement: Implemented support for template functions.
- Improvement: Implemented primitive support for namespaces.
- Improvement: Changed "####### There is a bug in preprocessor.cpp" error into more informative and skip only one file, instead of terminating program.
- Improvement: buffer overrun with dynamic memory (e.g. new char)
- New check: auto variable address
- New check: "The size argument is given as a char constant"
- New check: Division by zero
A few bugs were discovered in 1.29 that we wanted to fix and release immediately.
* Segmentation fault
* Compiler error
* suppress errors about memory leaks for classes that are automaticly deallocated (through "--auto-dealloc")
* Added option for controlling exit value (through "--error-exitcode")
* Added command line option "--version"
* better handling of __asm code blocks
* fixed false positives about unused private functions
* fixed false positives about memory leaks
* fixed wrong line numbers in error messages
We will release 1.30 soon, probably on sunday evening.
It contains bug fixes that we want to release quickly (segmentation faults & compiler errors).
Cppcheck has now moved from svn to git.
Latest version can be found in the git
git clone git://github.com/danmar/cppcheck.git
cppcheck-1.29 has been released. We fixed 50 tickets (27 defects and 23 enhancements).
There has been various fixes and improvements.
* Now you can specify extra include directories through "-I"
* Preliminary xml output through --xml-results. This will be improved further.
* The return value of cppcheck is 0 only if no errors are found. When errors are found EXIT_FAILURE is returned.
* Added support for .C and .c++ files
* sprintf - using overlapping data in input and output
* usage of a freed pointer
* freeing a pointer that has already been freed
* string pointer arithmetic: .. = "abc" + 'd'; => .. = "abc" + (int)'d';
* mktemp can be dangerous... read more
We have moved all open feature requests and bug requests to new track ( https://apps.sourceforge.net/trac/cppcheck/report/1 ). If you have any bug reports, feature requests or you would like to submit patches, please use the track.
Forums are moved to phpBB, but old posts are not transferred: http://apps.sourceforge.net/phpbb/cppcheck/
Version 1.27 has now been released.
A new C++ check was added that detects when a base class has a non-virtual destructor
The command line options have changed.
* --recursive was removed
* --errorsonly was renamed to --quiet
* --force was added
Improvements in the core functionality that makes the checks more accurate.
Many small updates in the memory leak checking.
Version 1.26 was released today
It has many fixes, making the checking both more sensitive and more accurate.
* Major restructuring and refactoring were made by Aggro
* Buffer overruns: moved recursive checking to "--all" because there were false positives
* Buffer overruns: fixed false positive (get pointer to data beyond array is not wrong)
* Memory leaks: Recursive checking * Memory leaks: Fixed a number of issues in the tracker... read more
Version 1.25 has been released.
The GPL 3 license is now used.
There has been minor updates. No new checks have been added. Instead the existing checks have been improved. Many false positives have been removed so that the results are now more accurate.
A new version has been released.
Minor updates in various places.
* Unsigned division
* Memory leaks
* Variable scope
* Incomplete statements
* Usage of char variables
A new version has been released.
The checking have been improved.
Compilation errors when using DJGPP and GCC-4.3 have been fixed
The checking for memory leaks have been restructured and rewritten again.
This is the third time I write these checks and this time I hope it will be better.
At the moment the check is not that powerful - I have been very focused on avoiding false positives from the start so I have a good and solid ground to build upon in the future.
The cppcheck-1.21 has a few minor updates.
Now it's here, the cppcheck-1.20 release.
A lot of refactoring to make the code simpler. Simpler code => better code.
The checks for memory leaks and buffer overruns have been refactored.
Development has been going well lately.
I've refactored some utility functions and that made the checking more powerful. And the code became simpler too I think.
I am planning for better utility functions in the future but I don't know exactly what I need.
A new check has been added that checks the usage of global functions. In big projects it is not uncommon that old functions that are not used anymore still lie around. And sometimes a function can have static linkage but it doesn't. This checking is only enabled if giving the "--style" parameter.... read more
The development has been going well lately. It has focused on new checking of variable scope and checking for unsigned divisions.
The current SVN revision is 199.
Created a new release of this package.
I will put a few sample reports that cppcheck-1.18 generates here.
To check all *.cpp, *.cc and *.c files under the current directory you can now do something like this:
No files need to be specified when doing this
For more details see the changelog.
A new release.
Minor improvements in the checks
The test system has been reworked. I believe it will be easier to find weaknesses and test in the future.
Removed false positives
Small updates. Added a few checks.
A few messages were removed from the "normal suite" because
they could give false warnings.
A suite was created that contains all error messages. This suite is less accurate but it detects more bugs.
A suite was created that only contains checks for coding style. This suite will not be able to detect any bugs.
Improved the checks.
Only the checks that finds errors are enabled by default. These checks are;
* Mismatching memory allocation / deallocation
* memory leak
* buffer overrun
* Invalid memory usage
* Invalid function usage
* Using dangerous functions
The other checks can be enabled through the '-w' option. These checks are:
* Various checks that checks 'if (..'
* dangerous usage of 'strtok'
* redundant code
* bad operator definition in class declaration
* can use isdigit or isalpa
* C++ code: using C-style pointer cast
* Header with implementation
* Unused function
* Not needed included file