The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.

Download Latest Version cppcheck-2.18.0.tar.gz (3.9 MB)
Email in envelope

Get an email when there's a new version of cppcheck

Home / cppcheck / 1.82
Name Modified Size InfoDownloads / Week
Parent folder
cppcheck-1.82-x86-Setup.msi 2018-01-14 8.6 MB
cppcheck-1.82-x64-Setup.msi 2018-01-14 10.3 MB
readme.txt 2018-01-14 1.2 kB
cppcheck-1.82.zip 2018-01-14 2.2 MB
cppcheck-1.82.tar.gz 2018-01-14 1.9 MB
cppcheck-1.82.tar.bz2 2018-01-14 1.5 MB
Totals: 6 Items   24.5 MB 0
Bug fixes:

 - Better handling of namespaces
 - Fixed false positives
 - Fixed parsing of compile databases
 - Fixed parsing of visual studio projects
 
Enhancements

 - New check; Detect mistakes when there are multiple strcmp() in condition
   Example:
     if (strcmp(password,"A")==0 || strcmp(password,"B")==0 || strcmp(password,"C"))
   There is a missing '==0', and therefore this condition is always true except when password is "C".

 - New check; pointer calculation result can't be NULL unless there is overflow
   Example:
     someType **list_p = ...;
     if ((list_p + 1) == NULL)
   The result for '(list_p + 1)' can't be NULL unless there is overflow (UB).
 
 - New check; public interface of classes should be safe - detect possible division by zero
   Example:
     class Fred {
     public:
     void setValue(int mul, int div) {
       value = mul / div; // <- unsafe
     }
     ...
   This check does not consider how Fred::setValue() is really called.
   If you agree that the public interface of classes should always be safe; it should be allowed to call all public methods with arbitrary arguments, then this checker will be useful.

 - Fixed a few false negatives
 
 - More information in the cfg files
Source: readme.txt, updated 2018-01-14