cppcheck/lib
Rikard Falkeborn 8cd1d5a47d Use library for memleak checks (#2002)
* Use library for memleak checks

Change memleakOnRealloc and leakReturnValNotUsed to use library
configuration instead of hardcoding "realloc".

In order to do so, some care needs to be taken when matching for a
reallocation function, since it can no longer be assumed that the input
to be allocated is the first argument of the function. This complicates
getReallocationType() and checkReallocUsage() but is necessary in order
to handle for example freopen() properly.

Also, refactor memleakOnRealloc check to reduce duplicated code when
checking "a" and "*a". When doing so, extending the check to look for
arbitrary number of "*" can be done for free (just change an if
statement to a while statement). Most likely, this is an unusual case in
real world code.

* Remove redundant whitespace in Token::Match()

* Run on simplified checks

* Fix cppcheck warning
2019-07-22 10:37:36 +02:00
..
CMakeLists.txt CMake: Find header in externals, e.g. externals/picojson.h 2019-04-22 18:52:02 +02:00
analyzerinfo.cpp Update Copyright 2019-06-29 07:49:14 +02:00
analyzerinfo.h Updated copyright year 2018-10-13 18:20:31 +02:00
astutils.cpp Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
astutils.h Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
check.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
check.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
check64bit.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
check64bit.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkassert.cpp Update copyright year 2019-02-09 07:24:06 +01:00
checkassert.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkautovariables.cpp Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
checkautovariables.h Fix issue 3695: Handle class pointers 2019-07-07 10:16:19 +02:00
checkbool.cpp Update Copyright 2019-06-29 07:49:14 +02:00
checkbool.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkboost.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
checkboost.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkbufferoverrun.cpp Refactoring: Use enum class 2019-07-16 10:51:26 +02:00
checkbufferoverrun.h Fix Cppcheck warnings 2019-06-15 13:01:45 +02:00
checkclass.cpp Modernize: Use enum class 2019-07-17 10:39:06 +02:00
checkclass.h Replace 'unsigned' with 'nonneg' in checkclass 2019-07-16 09:03:45 +02:00
checkcondition.cpp Replace 'unsigned' with 'nonneg' in checkcondition 2019-07-16 08:21:25 +02:00
checkcondition.h Replace 'unsigned' with 'nonneg' in checkcondition 2019-07-16 08:21:25 +02:00
checkexceptionsafety.cpp Refactoring; Use range for loops 2018-07-14 09:49:03 +02:00
checkexceptionsafety.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkfunctions.cpp Replace 'unsigned' with 'nonneg' in checkfunctions 2019-07-16 08:49:02 +02:00
checkfunctions.h Replace 'unsigned' with 'nonneg' in checkfunctions 2019-07-16 08:49:02 +02:00
checkinternal.cpp CheckInternal: Extend redundant null pointer check before Token::Match() (#1789) 2019-04-06 07:44:44 +02:00
checkinternal.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkio.cpp checkio.cpp: Fix forgotten "nonneg" change which breaks build 2019-07-16 09:30:36 +02:00
checkio.h replace 'unsigned' with 'nonneg' in checkio 2019-07-16 08:37:26 +02:00
checkleakautovar.cpp Fix FP memory leak with unknown function call in condition (#2012) 2019-07-18 15:23:19 +02:00
checkleakautovar.h Replace 'unsigned' with 'nonneg' in checkleakautovar 2019-07-16 08:54:21 +02:00
checkmemoryleak.cpp Use library for memleak checks (#2002) 2019-07-22 10:37:36 +02:00
checkmemoryleak.h Use library for memleak checks (#2002) 2019-07-22 10:37:36 +02:00
checknullpointer.cpp Improve diagnostics with null smart pointers (#1805) 2019-04-26 11:30:09 +02:00
checknullpointer.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkother.cpp Detect shadowed arguments 2019-07-17 17:08:42 +02:00
checkother.h Detect shadowed arguments 2019-07-17 17:08:42 +02:00
checkpostfixoperator.cpp Refactoring: Use ranged for loop 2018-07-13 16:50:12 +02:00
checkpostfixoperator.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checksizeof.cpp Update Copyright 2019-06-29 07:49:14 +02:00
checksizeof.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkstl.cpp Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
checkstl.h Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
checkstring.cpp Overlapping sprintf, improve handling of casts (#1945) 2019-07-05 12:27:39 +02:00
checkstring.h Checkstring fixes (#1783) 2019-04-06 06:54:38 +02:00
checktype.cpp Try to clarify signConversion message 2019-07-17 22:41:24 +02:00
checktype.h Refactoring; enum class 2019-07-10 14:05:16 +02:00
checkuninitvar.cpp Mark members and arguments with 'nonneg' 2019-07-14 12:22:33 +02:00
checkuninitvar.h Mark members and arguments with 'nonneg' 2019-07-14 12:22:33 +02:00
checkunusedfunctions.cpp Fixed #8580 (False positive: unused function (lambda)) 2019-04-27 17:17:51 +02:00
checkunusedfunctions.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkunusedvar.cpp Fix false positives in self check: Variable t is assigned a value that is never used. Classes with destructors was not handled properly. 2019-07-14 16:20:45 +02:00
checkunusedvar.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
checkvaarg.cpp Update copyright year 2019-02-09 07:24:06 +01:00
checkvaarg.h Disable all simplified checks 2019-03-16 09:17:50 +01:00
config.h sync (#1835) 2019-05-17 09:31:41 +02:00
cppcheck.cpp Detect shadowed arguments 2019-07-17 17:08:42 +02:00
cppcheck.h test/cli: execute addon 2019-04-14 15:00:03 +02:00
cppcheck.natvis Fixed Visual Studio Natvis file after recent refactoring (#1299) 2018-07-09 08:27:26 +02:00
cppcheck.vcxproj Increase Windows stack size to 8M (#1998) 2019-07-15 12:39:58 +02:00
cppcheck.vcxproj.filters Add ctu sources to VS projects 2018-12-27 22:11:40 +01:00
ctu.cpp Mark members and arguments with 'nonneg' 2019-07-14 12:22:33 +02:00
ctu.h Mark members and arguments with 'nonneg' 2019-07-14 12:22:33 +02:00
errorlogger.cpp fix crash in daca gcc-avr from intentional bad instantiation test (#1994) 2019-07-15 12:41:06 +02:00
errorlogger.h fix crash in daca gcc-avr from intentional bad instantiation test (#1994) 2019-07-15 12:41:06 +02:00
importproject.cpp --addon: Use json for addon output 2019-06-24 19:29:43 +02:00
importproject.h analyzing one vs config (first debug config that matches platform) 2019-04-13 20:01:40 +02:00
lib.pri CTU: Refactoring 2018-12-25 21:11:23 +01:00
library.cpp Modernize: Use enum class for Library::Action and Library::Yield 2019-07-17 11:39:30 +02:00
library.h Modernize: Use enum class for Library::Action and Library::Yield 2019-07-17 11:39:30 +02:00
matchcompiler.h
mathlib.cpp Modernize: use enum class 2019-07-17 10:43:18 +02:00
mathlib.h Update copyright year 2019-02-09 07:24:06 +01:00
path.cpp Fixed #error in self check when __CPPCHECK__ is defined 2019-04-30 20:31:46 +02:00
path.h Update copyright year 2019-02-09 07:24:06 +01:00
pathmatch.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
pathmatch.h Updated copyright year 2018-10-13 18:20:31 +02:00
pcrerules.pri
platform.cpp Updated copyright year 2018-03-31 20:59:09 +02:00
platform.h Mark members and arguments with 'nonneg' 2019-07-14 12:22:33 +02:00
preprocessor.cpp Add missing include 2019-05-09 06:55:36 +02:00
preprocessor.h Renamed private member file0 2018-06-17 09:06:16 +02:00
settings.cpp Rename safeValues to unknownValues 2019-07-11 16:05:48 +02:00
settings.h Rename safeValues to unknownValues 2019-07-11 16:05:48 +02:00
standards.h Update Copyright 2019-06-29 07:49:14 +02:00
suppressions.cpp Fix Cppcheck warning: Suppressions::dump can be const 2019-06-29 07:53:32 +02:00
suppressions.h Fix Cppcheck warning: Suppressions::dump can be const 2019-06-29 07:53:32 +02:00
symboldatabase.cpp Refactoring: Use range for loop 2019-07-18 14:55:01 +02:00
symboldatabase.h Safe functions: Check more possible function argument values 2019-07-10 16:59:05 +02:00
templatesimplifier.cpp Fix issue 9211: No error on divide by zero outside template instatiation 2019-07-18 14:55:30 +02:00
templatesimplifier.h Fix issue 9211: No error on divide by zero outside template instatiation 2019-07-18 14:55:30 +02:00
timer.cpp Rename private member variables 2018-06-17 17:20:16 +02:00
timer.h Update copyright year 2019-02-09 07:24:06 +01:00
token.cpp Rename fileInd to fileIndex 2019-07-17 16:28:47 +02:00
token.h Fix wrong 'nonneg' 2019-07-14 17:31:26 +02:00
tokenize.cpp Fix issue 9211: No error on divide by zero outside template instatiation 2019-07-18 14:55:30 +02:00
tokenize.h Avoid 'unsigned' in Tokenizer. Use 'nonneg' instead for arguments and members. 2019-07-14 15:48:20 +02:00
tokenlist.cpp Replace 'unsigned' with 'nonneg' 2019-07-17 10:14:25 +02:00
tokenlist.h Replace 'unsigned' with 'nonneg' 2019-07-17 10:14:25 +02:00
utils.h Add 'nonneg' macro 2019-07-14 11:40:44 +02:00
valueflow.cpp Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
valueflow.h Switch to use lifetime analysis for iterators and pointers to invalid containers 2019-07-18 10:56:44 +02:00
version.h Set version to 1.88.99/1.89 dev 2019-07-02 20:59:52 +02:00
version.rc