Commit Graph

12195 Commits

Author SHA1 Message Date
chrchr-github 33fde8ae6b
Add tests for , ()
* Add test for , avoid duplicate warning

* Add test for 

* Fix test

* Merge

* Add test for 

* Fix  checkLibraryCheckType with asm goto() (invalid varid)

* Format

* Add tests for , 

* Fix test

* Add test for 

* Add tests for , 
2022-09-29 12:33:34 +02:00
chrchr-github 32c7b919ba
Add tests for , , ()
* Add test for , avoid duplicate warning

* Add test for 

* Fix test

* Merge

* Add test for 

* Fix  checkLibraryCheckType with asm goto() (invalid varid)

* Format

* Add tests for , 

* Fix test

* Add test for 
2022-09-29 07:05:29 +02:00
chrchr-github 56e2af5dec
Fix FP leakReturnValNotUsed although (void) is specified () 2022-09-27 20:09:04 +02:00
Oliver Stöneberg b9e07e918e
enabled and fixed `readability-named-parameter` clang-tidy warnings () 2022-09-27 20:03:25 +02:00
chrchr-github cab4997b0b
Fix Empty AST with delete new / FP leakReturnValNotUsed with new and offset ()
* Fix internalAstError with new

* Format

* nullptr check

* Add test for 

* Fix  Empty AST with delete new /  FP leakReturnValNotUsed with new and offset
2022-09-27 18:12:58 +02:00
chrchr-github 0f79f8bd70
Fix internalAstError with new ()
* Fix internalAstError with new

* Format

* nullptr check
2022-09-26 22:05:58 +02:00
chrchr-github 64f3f85804
Fix Function::addArguments found argument 'b' with varid 0 wit… ()
* Fix  Function::addArguments found argument 'b' with varid 0 with lambda parameter

* Fix varid0 warning
2022-09-26 18:21:21 +02:00
Paul Fultz II fc39a4d1bb
Fix 11171: False positive: missing return statement when std::enable_if_t is used ()
* Fix 11171: False positive: missing return statement when std::enable_if_t is used

* Format

* Return false

* Workaround bug in cppcheck
2022-09-26 18:20:42 +02:00
orbitcowboy 2bdeaf858e Added regression test for ticket - FP: Using object that is a temporary 2022-09-24 22:11:04 +02:00
chrchr-github 2808fc615e
Fix "statement without effect" / FN unusedScopedObject does not work for classes in different namespace ()
* Partial fix for  unused variable without assignment not detected

* Add test for 

* Fix  FN unusedScopedObject does not work for classes in different namespace

* Merge

* Fix  "statement without effect" (unused variable without assignment) not detected

* Format
2022-09-24 12:49:37 +02:00
Oliver Stöneberg dc03a50414
some small cleanups and refactorings ()
* moved `plistFile` from `ErrorLogger` to `CppCheck`

* got rid of global CWE objects

* lib/CMakeLists.txt: suppress some `-Wfloat-equal` clang warning in matchcompiled builds as well

* lib/CMakeLists.txt: moved a loop into proper block

* test/CMakeLists.txt: simplified `add_fixture`

* test/CMakeLists.txt: moved `fixture_cost`

* fixed `naming-privateMemberVariable` selfcheck warning
2022-09-24 11:59:13 +02:00
chrchr-github d608bec414
Fix FP with std::array ()
* Fix  wrong usage of std::string in memcpy

* Fix memsetClass FP

* Fix  FN memset on container containing structs with containers

* Token::Match

* Use AST

* simpleMatch

* Fix FP with std::array

* simpleMatch
2022-09-23 20:18:49 +02:00
chrchr-github 0bb82b70d9
Fix FN functionStatic, functionConst with this ()
* Fix  FN functionStatic, functionConst with this

* Fix FP
2022-09-23 08:46:31 +02:00
chrchr-github bb2ba53bf5
Add tests for , ()
* Add test for 

* Add test for 
2022-09-22 19:41:29 +02:00
Jim Kuhn f27fbdd8ab
Fix sense of test (.analyzerinfo files get placed in wrong directory) ()
* Fix sense of test (.analyzerinfo files get placed in wrong directory)

* Update testanalyzerinformation.cpp

style (tabs -> spaces)
2022-09-21 17:38:23 +02:00
chrchr-github 3b07661fd3
Fix debug: CheckClass::isMemberVar found used member variable 'x' with varid 0 () 2022-09-21 17:35:10 +02:00
chrchr-github 2aca275e0c
Fix FN memset on container containing structs with containers ()
* Fix  wrong usage of std::string in memcpy

* Fix memsetClass FP

* Fix  FN memset on container containing structs with containers

* Token::Match

* Use AST

* simpleMatch
2022-09-21 17:33:48 +02:00
chrchr-github 3644d79162
Fix duplicateConditionalAssign FP ()
* Fix  FN redundant assignment of Boolean variable

* Fix warning, refactor

* Update testcondition.cpp

* Fix duplicateConditionalAssign FP

* Format
2022-09-20 21:57:27 +02:00
chrchr-github 48999cf1d1
Add support for std::ofstream::precision() ()
* Add support for std::copy_n/merge/stable_sort

* Format

* Add support for std::unordered_set::count(), std::push_heap

* Missing include

* Add support for std::iota

* Missing include

* Add support for std::ofstream::precision()

* Typo

* Typo
2022-09-20 17:23:18 +02:00
chrchr-github 2ce25abd81
Add support for std::iota ()
* Add support for std::copy_n/merge/stable_sort

* Format

* Add support for std::unordered_set::count(), std::push_heap

* Missing include

* Add support for std::iota

* Missing include
2022-09-20 07:30:24 +02:00
chrchr-github dcb332acb0
Fix FN redundant assignment of Boolean variable ()
* Fix  FN redundant assignment of Boolean variable

* Fix warning, refactor

* Update testcondition.cpp
2022-09-20 07:30:12 +02:00
chrchr-github f274d499a1
Fix FP missing return statement when std::enable_if_t is used ()
* Fix  FP missing return statement when std::enable_if_t is used

* Add check
2022-09-19 12:47:58 +02:00
Paul Fultz II 09944c0b7e
Fix 11298: FP danglingTemporaryLifetime when constructing from const char* ()
* Fix 11298: FP danglingTemporaryLifetime when constructing from const char*

* Format
2022-09-18 08:30:58 +02:00
Paul Fultz II de7d02293f
Fix 11308: FP accessMoved with virtual function ()
* Fix 11308: FP accessMoved with virtual function

* Format
2022-09-18 08:30:06 +02:00
Paul Fultz II d34de745c0
Fix 11306: FP knownConditionTrueFalse with strlen() ()
* Fix 11306: FP knownConditionTrueFalse with strlen()

* Add another test
2022-09-18 08:29:10 +02:00
Oliver Stöneberg 8126d5c1a6
improved `TestCmdlineParser` () 2022-09-17 18:50:25 +02:00
chrchr-github cb6f04a16c
Fix FP zerodivcond from enum definition / FP unassignedVariable with static variable ()
* Fix  FP zerodivcond from enum definition

* Simplify Boolean expression

* Fix  FP unassignedVariable with static variable
2022-09-17 18:50:07 +02:00
Oliver Stöneberg 897826006e
mitigated some clang-tidy warnings in headers ()
* erroritem.h: avoid `performance-no-int-to-ptr` clang-tidy warning

* suppress `readability-inconsistent-declaration-parameter-name` clang-tidy warnings for Qt signals

* tokenlist.h: mitigated `readability-make-member-function-const` clang-tidy warnings

* fixed `modernize-use-override` clang-tidy warnings in headers

* fixed `modernize-pass-by-value` clang-tidy warnings in headers

* tokenize.cpp: avoid unnecessary copy
2022-09-16 18:59:15 +02:00
Oliver Stöneberg 339484d2a1
mitigated and enabled more clang-tidy warnings ()
* fixed some `performance-inefficient-string-concatenation` clang-tidy warnings

* fixed and enabled `modernize-replace-random-shuffle` clang-tidy warning

* fixed and enabled `bugprone-suspicious-string-compare` clang-tidy warning

* mitigated and enabled `readability-non-const-parameter` clang-tidy warnings

* clang-tidy.md: documented some disabled checks

* mitigated and enabled `performance-unnecessary-value-param` clang-tidy warnings
2022-09-16 18:58:59 +02:00
chrchr-github 45ccc9ba1e
Fix ctunullpointer FP () 2022-09-16 12:11:34 +02:00
Oliver Stöneberg b3ec225480
iwyu.yml: use `debian:unstable` to always get latest include-what-you-use / cleaned up includes ()
* iwyu.yml: use debian:unstable to always get latest include-what-you-use

* cleaned up includes based on include-what-you-use

* mitigated include-what-you-use false positives
2022-09-16 07:15:49 +02:00
chrchr-github d6aab96734
Add support for std::unordered_set::count(), std::push_heap ()
* Add support for std::copy_n/merge/stable_sort

* Format

* Add support for std::unordered_set::count(), std::push_heap

* Missing include
2022-09-16 07:12:36 +02:00
chrchr-github c9ade33298
Fix memsetClass FP () 2022-09-15 20:20:49 +02:00
chrchr-github 7111270d5f
Add support for std::copy_n/merge/stable_sort ()
* Add support for std::copy_n/merge/stable_sort

* Format
2022-09-15 19:56:45 +02:00
chrchr-github d1386a842a
Fix debug: constStatementError not handled. ()
* Fix  debug: constStatementError not handled.

* Use function
2022-09-14 23:57:02 +02:00
chrchr-github 266174ddc4
Fix danglingTemporaryLifetime reported in two different locati… ()
* Fix  danglingTemporaryLifetime reported in two different locations for std::string_view usage

* Missing include

* Add test
2022-09-14 07:28:04 +02:00
chrchr-github 07caf17eb3
Fix wrong usage of std::string in memcpy () 2022-09-13 15:14:25 +02:00
chrchr-github e904f7341e
Fix ValueFlow crash () 2022-09-13 12:25:15 +02:00
Paul Fultz II 43caa32abf
Fix 9755: false negative: access of moved variable in conditional code ()
* Fix 9755: false negative: access of moved variable in conditional code

* Format
2022-09-11 12:32:01 +02:00
Paul Fultz II 53820515c9
Set valueflow for container elements ()
* Track elements to containers

* Format

* Handle other access methods

* Format
2022-09-10 09:26:44 +02:00
Paul Fultz II 117a753b10
Partial fix 11154: FN: knownConditionTrueFalse ()
* Partial fix 11154: FN: knownConditionTrueFalse

* Formay

* Add more tests

* FOrmat

* Fix FP

* Add test

* Check for side effects

* Format

* Update tests

* Format
2022-09-08 22:08:38 +02:00
Oliver Stöneberg dbc05da356
fixed some clang-tidy warnings () 2022-09-08 20:01:41 +02:00
Paul Fultz II 7c986fbef1
Fix 11203: false positive: knownConditionTrueFalse 'always false' when comparing integer with floating-point () 2022-09-08 19:59:02 +02:00
Paul Fultz II f83b8dd385
Fix 11194: FN: knownConditionTrueFalse ()
* Fix 11194: FN: knownConditionTrueFalse

* Format
2022-09-08 18:51:44 +02:00
Daniel Marjamäki 92845295b8 Fix broken CI caused by my qt fix 2022-09-08 11:12:38 +02:00
Paul Fultz II 32d96104d6
Fix 6370: ValueFlow: array element with known value ()
* Fix 6370: ValueFlow: array element with known value

* Format

* Move comment
2022-09-07 19:16:07 +02:00
Paul Fultz II 6543b429c5
Fix 11285: FN: zerodiv ()
* Fix 11285: FN: zerodiv

* Format
2022-09-07 19:15:37 +02:00
Oliver Stöneberg 54771306c5
selfcheck : cleaned up some suppressions, fixed warnings and some cleanups ()
* cleaned up triage.pro and pass all triage files to selfcheck

* CI-unixish.yml: factored out redundant selfcheck flags

* CI-unixish.yml: cleaned up selfcheck suppressions and fixed warnings

* added explicit `missingInclude` checks to selfcheck to work around current issues/limitations / fixed selfcheck includes / added some unit tests for `missingInclude`

* applied the selfcheck changes to the sanitizer jobs

* only fail TSAN CI build in case of TSAN error / updated sanitizer CI build TODOs
2022-09-06 23:11:39 +02:00
chrchr-github 6960332f8a
Fix FP arrayIndexOutOfBoundsCond with extra parentheses () 2022-09-06 21:21:06 +02:00
Oliver Stöneberg b3762cd76a
actually perform system tinyxml2 build on macos / fixed system tinyxml2 include ()
* lib/CMakeLists.txt: removed unnecessary external include

* look up tinyxml2 include dir when using system one and specify it

* lib/CMakeLists.txt: do not treat bundled headers as system ones

* CI-unixish.yml: actually perform system tinyxml2 build on macos
2022-09-06 18:30:59 +02:00
Paul Fultz II 2d37a77281
Fix 11296: FN: knownConditionTrueFalse ( a !=0 && b != 0 && a == 0) () 2022-09-06 07:31:48 +02:00
Paul Fultz II 016793f258
Fix 11295: Regression FP: knownConditionTrueFalse () 2022-09-06 07:31:38 +02:00
chrchr-github 31118fdce5
Fix noreturn FP with while() ()
* Fix checkLibraryFunction FPs

* Fix FP with fclose()

* Format

* Fix FP with reinterpret_cast

* Fix noreturn FP with while()
2022-09-04 10:26:31 +02:00
Paul Fultz II 6ce5c24f21
Refactor knownConditionTrueFalse check and isUsedAsBool function ()
* Refactor knownConditionTrueFalse check and isUsedAsBool function

* Format1

* Format

* Skip assign
2022-09-04 10:24:45 +02:00
Maksim Derbasov f93b588603
New check: use memcpy/memset instead of loop () 2022-09-03 23:29:06 +02:00
chrchr-github cf52ee098a
Fix checkLibraryFunction FPs ()
* Fix checkLibraryFunction FPs

* Fix FP with fclose()

* Format

* Fix FP with reinterpret_cast
2022-09-02 07:51:10 +02:00
chrchr-github 79daad8ff4
Fix FP arrayIndexOutOfBounds if string literals are assigned conditionally () 2022-09-01 22:59:46 +02:00
Daniel Marjamäki 4779f0e172 TemplateSimplifier: Fixed instantiation when template parameters are A<..>, B<..> 2022-09-01 20:24:01 +02:00
chrchr-github 5804cc44e7
Fix FP bufferAccessOutOfBounds ()
* Fix FN with buffer size 1

* Fix FP bufferAccessOutOfBounds
2022-08-31 19:31:37 +02:00
chrchr-github 3925a27182
Fix FP knowConditionTrueFalse ()
* Fix  FN (style) Condition 's.empty()' is always false

* Fix test

* Fix FP knowConditionTrueFalse

* Check for casts

* Fix FP for user-defined functions

* Adjust condition detection

* Tweaks
2022-08-30 18:08:24 +02:00
chrchr-github 9ab4f9976d
Fix FN (style) Condition 's.empty()' is always false ()
* Fix  FN (style) Condition 's.empty()' is always false

* Fix test
2022-08-29 12:25:10 +02:00
chrchr-github 1e14e360cb
Fix FN (error) Buffer is accessed out of bounds (wcpncpy, wcsncpy) ()
* Fix  FN (error) Buffer is accessed out of bounds (wcpncpy, wcsncpy)

* Fix cfg, validation

* Fix validation
2022-08-29 12:24:58 +02:00
chrchr-github df704361f6
Fix FN with buffer size 1 () 2022-08-29 12:24:44 +02:00
Daniel Marjamäki a400c94230 Update Copyrights 2022-08-28 14:22:12 +02:00
Daniel Marjamäki 5e0fc24bb7 Fixed (Syntax Error: AST broken, binary operator '!=' doesn't have two operands) 2022-08-27 18:02:19 +02:00
chrchr-github 7156afe003
Fix FN (error) buffer access out of bounds - known argument ()
* Fix  FN (error) buffer access out of bounds - known argument const char* argv[]

* Format
2022-08-26 17:27:54 +02:00
chrchr-github b815153b0c
Add test for () 2022-08-26 11:36:47 +02:00
chrchr-github 917496a844
Fix FN destructor with no definition hide mismatching alloc/dealloc ()
* Fix  FN destructor with no definition hide mismatching allocation / deallocation

* Format

* Fix test

* Format
2022-08-25 22:52:51 +02:00
chrchr-github 456c6b410e
Fix FN known strcpy parameter ()
* Fix  FN known strcpy parameter

* Parentheses

* Format
2022-08-24 21:23:45 +02:00
Daniel Marjamäki 112852f70b formatting 2022-08-24 08:53:59 +02:00
Oliver Stöneberg 467648bec6
fixed (potential hang with -j and --showtime= when using threads) - synchronized access to `TimerResults::mResults` / added TSAN to CI () 2022-08-23 20:30:45 +02:00
chrchr-github 13e8d5220c
Fix another c_strParam regression () 2022-08-23 20:26:36 +02:00
chrchr-github 4be7f689d7
Fix c_strParam regression ()
* Fix  New check: Not needed c_str() operation

* Comment

* Detect more instances of c_str() misuse

* Fix bad merge

* Check for data() also

* Fix

* Format

* Format

* Fix c_strParam regression
2022-08-23 15:00:27 +02:00
chrchr-github 66fca7ba91
Detect more instances of c_str() misuse ()
* Fix  New check: Not needed c_str() operation

* Comment

* Detect more instances of c_str() misuse

* Fix bad merge

* Check for data() also

* Fix

* Format

* Format
2022-08-22 14:06:10 +02:00
PKEuS d81a758850
LCppC backports: Refactorizations/Optimizations () 2022-08-21 17:21:02 +02:00
chrchr-github d351a97a0f
Fix FN stlcstrParam ()
* Fix  New check: Not needed c_str() operation

* Comment

* Fix error messages

* Handle more complex string expressions

* Fix  FN stlcstrParam

* Handle iterators

* Format

* Format

* Parentheses
2022-08-21 13:04:43 +02:00
Oliver Stöneberg 1202efb438
some `--exception-handling` related improvements () 2022-08-20 20:54:31 +02:00
chrchr-github b04bf7396f
Fix New check: Not needed c_str() operation () 2022-08-20 20:52:10 +02:00
chrchr-github 5cc8ef7e87
Add test for ()
* Add test for 

* Add test for 

* Revert
2022-08-20 19:23:55 +02:00
Oliver Stöneberg 1d95d1908d
refs - sped up `Library::detectContainerOrIterator()` by iterating the containers only once () 2022-08-20 12:14:55 +02:00
chrchr-github 2ab8de2650
Fix FP negativeMemoryAllocationSize with possible value () 2022-08-20 07:56:31 +02:00
Oliver Stöneberg f138df2909
mathlib.h: replaced slow `std::ostringstream` with `std::to_string()` in `MathLib::toString()` () 2022-08-19 20:44:24 +02:00
chrchr-github 80a486dda0
Fix FP virtual call in destructor even though class is final / Delete 'final' from specializations ()
* Add 'final' keyword

* Delete 'final' from specializations

* Fix  FP virtual call in destructor even though class is final

* Fix test
2022-08-19 18:26:00 +02:00
Oliver Stöneberg 1b4141cbe5
added more missing `sstream` includes () 2022-08-19 18:23:15 +02:00
chrchr-github 1aa259569e
Fix syntax error : int (operator"" _ii)(unsigned long long v) … ()
* Fix  syntax error : int (operator"" _ii)(unsigned long long v) { return v; }

* Format
2022-08-18 23:38:45 +02:00
chrchr-github 2fee7a6e3f
Add test for , ()
* Add test for 

* Add test for 

* Add test for 

* Format

* Add test for 

* Format

* Add test for 
2022-08-18 23:37:41 +02:00
chrchr-github 6a0c254d1f
Fix FP zerodiv (daca@home) ()
* Fix  FP zerodiv (daca@home)

* Format

* Parentheses

* clang-tidy
2022-08-18 20:38:36 +02:00
chrchr-github 4a64e20592
unusedScopedObject: Don't warn for void statements ()
* Fix unusedScopedObject FPs

* Simplify

* Simplify

* Fix test

* Don't warn for void statements

* Format
2022-08-17 19:45:46 +02:00
chrchr-github e9f1665d4f
Add test for ()
* Add test for 

* Add test for 

* Add test for 

* Format
2022-08-17 19:38:37 +02:00
chrchr-github 0978cc2d46
Add tests for , () 2022-08-17 10:01:49 +02:00
chrchr-github 5b4c6c1e73
Fix FP pointerOutOfBounds with strlen() () 2022-08-17 09:45:07 +02:00
chrchr-github 1a95515e47
Fix unusedScopedObject FPs () 2022-08-17 09:11:23 +02:00
chrchr-github 3dc2c0bd42
Fix FN constStatement with misused comma () 2022-08-16 22:10:58 +02:00
Oliver Stöneberg 31d704e4bc
cppcheckexecutor.cpp: extracted platform-dependent code into separate files () 2022-08-16 22:03:44 +02:00
Oliver Stöneberg 4bf5dcd29f
cleaned up includes based on include-what-you-use ()
* cleaned up includes based on include-what-you-use

* testlibrary.cpp: no need for `empyString` optimization
2022-08-14 12:44:19 +02:00
chrchr-github afef71f6b6
Partial fix for unused variable without assignment not detected ()
* Partial fix for  unused variable without assignment not detected

* Add test for 
2022-08-13 08:29:06 +02:00
Paul Fultz II bfd9470600
Fix 11158: FP zerodiv in loop ()
* Fix 11158: FP zerodiv in loop

* Format

* Add another test

* Format

* Fix FP

* Format
2022-08-13 08:27:20 +02:00
chrchr-github bdbd84ba98
: Fix regression ()
* Fix  FP knownConditionTrueFalse with constexpr?

* Modify isConstVarExpression()

* Use predicate

* Format

* : Fix regression
2022-08-09 13:13:16 +02:00
chrchr-github 974e34490f
Fix FP Unused private function () 2022-08-07 20:06:32 +02:00
chrchr-github 078a6d7804
Fix FP knownConditionTrueFalse with constexpr? () 2022-08-07 19:06:19 +02:00
chrchr-github d5a0dfda00
Fix checkLibraryCheckType with asm goto() (invalid varid), add test for ()
* Add test for , avoid duplicate warning

* Add test for 

* Fix test

* Merge

* Add test for 

* Fix  checkLibraryCheckType with asm goto() (invalid varid)

* Format
2022-08-04 21:35:18 +02:00
Paul Fultz II c0f55a2b85
Fix 11142: FP nullPointer before assignment ()
* Fix 11142: FP nullPointer before assignment

* Format

* Use simpleMatch
2022-08-03 19:05:07 +02:00
Paul Fultz II 6cb3a79a64
Fix 11147: FP invalidContainer with substr() ()
* Fix 11147: FP invalidContainer with substr()

* Format
2022-08-03 19:04:44 +02:00
chrchr-github dd927aab9b
Fix checkLibraryNoReturn with unassigned object ()
* Handle float values

* Fix  checkLibraryNoReturn with unassigned object
2022-08-03 19:04:10 +02:00
chrchr-github a62c3ea90e
Fix Broken AST with auto**, FP constStatement () 2022-08-03 19:03:38 +02:00
chrchr-github 0eabe0505b
Handle float values () 2022-08-02 22:11:31 +02:00
chrchr-github 71f9a7269f
Add test for , , avoid duplicate warning ()
* Add test for , avoid duplicate warning

* Add test for 

* Fix test
2022-08-02 21:43:18 +02:00
chrchr-github bc409776e3
Fix Wrong redundant condition: misleading/wrong message ()
* Fix  Wrong redundant condition: misleading/wrong message

* Use expressionString()

* Clarify condition

* Update testcondition.cpp

* Trigger CI
2022-08-02 18:31:02 +02:00
chrchr-github 92d569afb6
FP: knownConditionTrueFalse (wrong message text) ()
*  FP: knownConditionTrueFalse (wrong message text)

* Format

* Update testcondition.cpp

* Trigger CI
2022-08-02 18:18:46 +02:00
chrchr-github 38fdbe0890
Fix Syntax error for function-try-block in global scope ()
* Fix  Syntax error for function-try-block in global scope

* static through instance

* Handle multiple catch blocks

* Add test

* Fix skip logic

* Handle init lists in simplifyFunctionTryCatch()
2022-07-31 14:49:50 +02:00
chrchr-github c878285a42
Add tests for , , , () 2022-07-30 16:15:32 +02:00
orbitcowboy 1934386738 windows.cfg: deprecate '_alloca()'. Ref. https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/alloca?view=msvc-170 2022-07-29 21:41:32 +02:00
Oliver Stöneberg efaaa58896
fixed some `modernize-use-emplace` false negatives and some `bugprone-assignment-in-if-condition` warnings () 2022-07-28 22:53:59 +02:00
chrchr-github 304e448749
Fix --check-library reports missing configuration for static_assert () 2022-07-28 22:47:15 +02:00
chrchr-github c340b6ae6c
Fix FP moduloofone with pow() () 2022-07-28 22:11:23 +02:00
Daniel Marjamäki 898ad314ab badBitmaskCheck: Avoid FP when there is #ifdef in expression 2022-07-28 21:56:05 +02:00
chrchr-github 3fc276fb51
Add test for () 2022-07-26 11:14:35 +02:00
chrchr-github 58d7185d64
Fix FP functionConst when overloaded operator ++ is used () 2022-07-26 08:30:59 +02:00
chrchr-github 15f8c71ec3
Fix FP: unassignedVariable when operator() is called subsequently () 2022-07-24 17:52:14 +02:00
chrchr-github 479533a80a
Rework fix for () 2022-07-24 12:15:04 +02:00
chrchr-github 1aceded300
Fix FP noExplicitConstructor with variadic template () 2022-07-24 10:18:19 +02:00
chrchr-github 0d72216cca
Fix BufferOverrun TODO ()
* Fix BufferOverrun TODO

* clang-tidy
2022-07-22 07:24:34 +02:00
chrchr-github 79f091c59a
Fix uselessCallsConstructor TODOs ()
* Fix uselessCallsConstructor TODOs

* Format
2022-07-21 22:15:16 +02:00
chrchr-github 5342e2cd03
Fix FP knownConditionTrueFalse with dynamic_cast () 2022-07-20 20:48:17 +02:00
chrchr-github 457a0cff87
Fix FP unusedStructMember when used through iterator (regression) ()
* Format

* Fix  FP unusedStructMember when used through iterator (regression)

* Format

* Fix test

* Format

* Nullptr check
2022-07-19 20:42:54 +02:00
chrchr-github 5e537a666f
Fix --check-library warning for int(i) () 2022-07-19 20:41:18 +02:00
chrchr-github c736fe8787
Fix FP doubleFree with pointer in struct () 2022-07-19 20:41:08 +02:00
chrchr-github 6dc606fd6a
Add tests for , , () 2022-07-18 18:03:08 +02:00
Daniel Marjamäki db155a59c1 Tokenizer: remove simplifyTokenList2 2022-07-18 16:20:36 +02:00
chrchr-github b08aabefee
Fix FP unreadVariable (incomplete code; missing macro definition) () 2022-07-17 19:40:39 +02:00
orbitcowboy 4de443957c gnu.cfg: Added support for error() function. And a TODO testcase for ticket . 2022-07-17 14:43:52 +02:00
chrchr-github 4894cdab8f
Fix FP unreadVariable with unique_ptr and unknown c'tor ()
* Fix  FP unreadVariable with unique_ptr and unknown c'tor

* Fix test
2022-07-16 23:46:55 +02:00
chrchr-github b16d12b5fb
Improve check for wchar_t () 2022-07-16 23:46:10 +02:00
chrchr-github 109a031ec7
Fix Add redundantContinue check () 2022-07-16 16:02:58 +02:00
chrchr-github 9e74da6126
Fix FP compare with negated constant () 2022-07-16 07:28:15 +02:00
chrchr-github 71d386819e
Fix FP bufferAccessOutOfBounds is reported on strncmp() ()
* Add test

* Fix  FP bufferAccessOutOfBounds is reported on strncmp()

* Remove suppressions
2022-07-15 17:43:18 +02:00
chrchr-github 53cd3dc665
Fix FP extern function reported as unused () 2022-07-14 20:59:58 +02:00
chrchr-github 2543dc97d2
Fix FP bitwiseOnBoolean () 2022-07-14 20:59:39 +02:00
chrchr-github 2c7d98626a
Fix FP leakNoVarFunctionCall with Qt object ()
* Add missing <leak-ignore/>, test

* Fix qt.cfg, format

* Fix FP leakNoVarFunctionCall

* Format

* Delete memory, rule of five

* Missing include

* Avoid dependency

* explicit

* Fix Qt test case

* Fix typo

* Fix

* Add Q_OBJECT
2022-07-13 21:09:53 +02:00
chrchr-github 6eab3cb8bd
Fix ctu: false negative array index out of bounds for array arguments () 2022-07-13 21:08:51 +02:00
chrchr-github 49117f5aeb
Fix static_assert shouldn't be reported by --check-library ()
* No need to check smart pointers, since they take template arguments

* Fix  static_assert shouldn't be reported by --check-library
2022-07-13 21:08:43 +02:00
chrchr-github b31e40f578
Add tests for , , , ()
* Add tests for , 

* Add test for 

* Add test for 
2022-07-13 21:08:30 +02:00
Daniel Marjamäki b387ae80f1 Fixed whole program analysis 2022-07-12 22:58:52 +02:00
Daniel Marjamäki fa5fd9cae0 Fixed (Unmatched suppression for inline suppression even though --suppress=unmatchedSuppression is used) 2022-07-12 22:51:26 +02:00
PKEuS f3565e1056
Improvement: Support member variables in CheckOther::checkIncompleteArrayFill() ()
Merged from LCppC.
2022-07-12 19:43:48 +02:00
chrchr-github 381c38b2f5
Improve check: uselessCallsConstructor () 2022-07-12 17:40:14 +02:00
Oliver Stöneberg 22be5f29aa
fixed (checkLibraryFunction with parameter to "std::string()") / added rudimentary tests for `CheckFunctions::checkLibraryMatchFunctions()` / added test for () 2022-07-12 17:39:01 +02:00
Oliver Stöneberg aea4fd1068
some `TestSuppressions` improvements and cleanups () 2022-07-12 17:36:36 +02:00
chrchr-github 47c2a01392
Fix inefficient way to remove last character from std::string ()
* Fix  inefficient way to remove last character from std::string

* Format

* Modify message, add test

* Format

* Fix another warning
2022-07-11 23:07:37 +02:00
chrchr-github c5dcd49dae
Fix FN: Bitwise operation with bool and int ()
* Fix  FN: Bitwise operation with bool and int

* Format
2022-07-11 22:58:37 +02:00
chrchr-github 8fc75402a1
Fix FP invalidFunctionArgStr () 2022-07-11 22:58:19 +02:00
chrchr-github f9337b725b
Fix nullptr deref ()
* Fix some FNs related to c_str()

* Format, fix FP

* Fix nullptr deref

* Fix merge
2022-07-11 22:58:08 +02:00
chrchr-github c218859418
Fix some FNs related to c_str() () 2022-07-10 11:38:01 +02:00
chrchr-github f5c4a21eae
Fix FN redundantCopyLocalConst () 2022-07-10 11:33:24 +02:00
Oliver Stöneberg c36320747f
some `missingInclude`/`missingIncludeSystem` fixes and tests ()
* do not emit `missingInclude` and `missingIncludeSystem` errors when not enabled / fixed and improved TestPreprocessor::inline_suppression_for_missing_include()

* testpreprocessor.cpp: added missing tests for `missingInclude` and `missingIncludeSystem`

* cppcheckexecutor.cpp: `missingIncludeSystem` was not emitted in normal analysis if `missingInclude` existed

* dmake

* added `run-dmake` as `testrunner` dependency
2022-07-09 23:21:11 +02:00
orbitcowboy c117f62926 Fixed zerodiv/moduloofone FNs for more math functions 2022-07-09 22:36:17 +02:00
orbitcowboy 8215521843 Fixed zerodiv/moduloofone FNs for more math functions 2022-07-09 19:59:16 +02:00
orbitcowboy ef47d34e75 Fixed zerodiv/moduloofone FNs for more math functions 2022-07-09 19:21:58 +02:00
orbitcowboy 0282c3a86e Fixed zerodiv/moduloofone FN for '1/std::expm1(0)' 2022-07-09 17:52:58 +02:00
orbitcowboy 07eeee1620 Fixed zerodiv FN for '1/std::exp2(0)' 2022-07-09 17:47:21 +02:00
orbitcowboy 048d31ec56 Fixed zerodiv FN for '1/std::erfc(42)' 2022-07-09 17:43:17 +02:00
orbitcowboy 87c1e6587a Fixed zerodiv FN for '1/std::erf(0)' 2022-07-09 17:38:28 +02:00
orbitcowboy c777cd5060 Fixed zerodiv FN for '1/std::ceil(0)' 2022-07-09 17:32:32 +02:00
orbitcowboy 41b6452604 Fixed zerodiv FN for '1/std::cbrt(0)' and added more test cases for other math functions 2022-07-09 17:28:15 +02:00
orbitcowboy a8816a2d2f std.cfg: Improved configuration of some math functions and added more regression tests 2022-07-09 16:32:21 +02:00
orbitcowboy c2e132b1a3 std.cfg: Improved configuration of asinh(). 2022-07-09 16:14:58 +02:00
orbitcowboy 2f41a8dbdd std.cfg: Improved zerodiv test of math functions and demonstrate that constants from <cmath> can be applied as well. 2022-07-09 10:09:43 +02:00
Paul Fultz II 6b72274c67
Evaluate math library functions in valueflow ()
* Evaluate math library functions in valueflow

* Format
2022-07-09 07:40:32 +02:00
Paul Fultz II edebe746bc
Fix 10361: false negative: uninitvar (std::next(iterator)) () 2022-07-09 07:39:04 +02:00
Paul Fultz II 0b63e7273d
Fix 11162: FP: knownConditionTrueFalse ()
* Fix 11162: FP: knownConditionTrueFalse

* Format
2022-07-09 00:57:25 +02:00
Oliver Stöneberg b51aea5531
separated process execution code into `ProcessExecutor` () 2022-07-08 16:42:57 +02:00
Tau c17e2b9826
Correctly interpret boolean literals in `execute()` ()
* Correctly interpret boolean literals in `execute()`

* Add regeression test case for boolean literals
2022-07-08 12:39:29 +02:00
chrchr-github bd92e7411c
Fix Hang on smart pointer with auto type deduction ()
* Fix  Hang on smart pointer with auto type deduction

* Format

* Format
2022-07-08 12:37:53 +02:00
chrchr-github 89a9e5ecc6
Fix FP: terminateStrncpy doesn't account for size check ()
* Fix  FP: terminateStrncpy doesn't account for size check

* Fix container size check

* Undo

* Format

* Rebuild

* Rebuild
2022-07-08 12:35:21 +02:00
Daniel Marjamäki d1812c8022 Cppcheck: Write product name if provided in xml output 2022-07-07 17:35:13 +02:00
Daniel Marjamäki d8239b26f1 Tokenizer: Remove simplifyCalculations from simplifyTokenList2 2022-07-04 22:54:43 +02:00
chrchr-github 22aeeb1788
Fix ClangImport crash on Windows paths ()
* Fix crash on Windows paths

* Fix test

* Enable fix

* Cut trailing ':'
2022-07-02 17:43:52 +02:00
orbitcowboy b170a9c61e wxwidgets.cfg: Fixed wrong configuration of wxRegEx::GetMatch(). 2022-07-02 09:24:22 +02:00
chrchr-github 596f75e2af
Fix FP compareValueOutOfTypeRangeError ()
* Fix FP compareValueOutOfTypeRangeError

* Remove suppressions
2022-07-01 10:48:32 +02:00
chrchr-github 27578e9c4c
Fix FP returnStdMoveLocal () 2022-06-30 13:50:31 +02:00
chrchr-github d8e64b4cbb
Fix FP leakNoVarFunctionCall ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )

*  FN: leakNoVarFunctionCall (ternary operator)

* Fix  FN: leakNoVarFunctionCall (switch condition)

* Fix FN constStatement

* Fix FP leakNoVarFunctionCall

* Fix FP leakNoVarFunctionCall

* Format

* Fix FP leakNoVarFunctionCall with unknown function

* Fix FP leakNoVarFunctionCall
2022-06-30 13:05:28 +02:00
chrchr-github 06b408ea20
Fix FP leakNoVarFunctionCall with unknown function ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )

*  FN: leakNoVarFunctionCall (ternary operator)

* Fix  FN: leakNoVarFunctionCall (switch condition)

* Fix FN constStatement

* Fix FP leakNoVarFunctionCall

* Fix FP leakNoVarFunctionCall

* Format

* Fix FP leakNoVarFunctionCall with unknown function
2022-06-29 13:43:17 +02:00
chrchr-github b90a726441
Fix FP leakNoVarFunctionCall ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )

*  FN: leakNoVarFunctionCall (ternary operator)

* Fix  FN: leakNoVarFunctionCall (switch condition)

* Fix FN constStatement

* Fix FP leakNoVarFunctionCall

* Fix FP leakNoVarFunctionCall

* Format
2022-06-29 07:22:26 +02:00
Paul Fultz II 185294499c
Adjust the severity of the uninitvar () 2022-06-28 22:52:35 +02:00
chrchr-github f8b796403b
Fix Crash in expandTemplate() () 2022-06-28 22:43:34 +02:00
chrchr-github 2223cd24b9
Fix FN: leakNoVarFunctionCall (switch condition) ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )

*  FN: leakNoVarFunctionCall (ternary operator)

* Fix  FN: leakNoVarFunctionCall (switch condition)

* Fix FN constStatement

* Fix FP leakNoVarFunctionCall
2022-06-28 14:02:02 +02:00
chrchr-github cdeebc15ea
Fix FN: leakNoVarFunctionCall (ternary operator) ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )

*  FN: leakNoVarFunctionCall (ternary operator)
2022-06-27 20:55:09 +02:00
chrchr-github e7e23e87c2
Fix FN: leakNoVarFunctionCall (if ( b && malloc ) ) ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO

* Fix  FN: leakNoVarFunctionCall (if ( b && malloc ) )
2022-06-27 19:35:22 +02:00
chrchr-github 88bf11abba
Fix FN: leakNoVarFunctionCall ()
* Fix  FN: leakNoVarFunctionCall

* Fix TODO
2022-06-27 14:19:19 +02:00
chrchr-github 242afc389d
Fix Regression: Parameter \'ptr\' can be declared as pointer to const () 2022-06-25 21:42:55 +02:00
chrchr-github 63e567eb50
Remove simplifyKnownVariables() ()
* Remove simplifyKnownVariables()

* Add some test cases back

* Remove unused functions

* Format
2022-06-25 08:38:17 +02:00
chrchr-github 11860cce4b
Add test for ()
* Add test for 

* Comment

* Fox comment
2022-06-24 13:55:04 +02:00
chrchr-github 60c1eef659
Fix FP containerOutOfBounds with std::map () 2022-06-23 20:26:47 +02:00
chrchr-github f1212e66f7
Fix FP constVariable with 2D array. ()
Test case  was actually a FP as well.
2022-06-22 21:22:04 +02:00
Daniel Marjamäki 1d5166d70c CheckClass: Fix false negatives for uninitMemberVar 2022-06-21 19:28:08 +02:00
chrchr-github a658baf962
Fix FP: unreadVariable (remove simplifyMathExpressions()) ()
* Fix  FP: unreadVariable (remove simplifyMathExpressions())

* Remove unused function, tests
2022-06-21 15:42:23 +02:00
chrchr-github 0d4b4394bb
Fix FP with embedded zeros ()
* Partial fix for  FN: invalidFunctionArgStr printf argument

* Typo

* Remove <strz>, suppressions

* Add suppresion, remove <strz>

* Add suppressions

* Fix FP with embedded zeros

* Merge
2022-06-21 13:33:45 +02:00
chrchr-github de2509f1ac
Fix FP with complex array size expression ()
* Partial fix for  FN: invalidFunctionArgStr printf argument

* Typo

* Remove <strz>, suppressions

* Add suppresion, remove <strz>

* Add suppressions

* Fix FP with complex array size expression
2022-06-21 00:12:11 +02:00
chrchr-github 5b9fa9657d
Partial fix for FN: invalidFunctionArgStr printf argument ()
* Partial fix for  FN: invalidFunctionArgStr printf argument

* Typo

* Remove <strz>, suppressions

* Add suppresion, remove <strz>

* Add suppressions
2022-06-20 20:02:22 +02:00
Paul Fultz II 6843bf628b
Use the correct test name for SKIP_TESTS () 2022-06-19 19:26:49 +02:00
PKEuS 9eb16e1002
Replaced check for pipe() buffer size by ordinary CheckBufferOverrun, provide required Library configuration option ()
Merged from LCppC.
2022-06-19 12:01:55 +02:00
Daniel Marjamäki 6873f5237b Tokenizer: removing more stuff from simplifyTokenList2 2022-06-19 10:41:15 +02:00
orbitcowboy 3dcdd5f264 std.cfg: Added a TODO test case 2022-06-19 10:13:22 +02:00
Daniel Marjamäki a7815ed5b0 Tokenizer: Remove more stuff from simplifyTokenList2 2022-06-18 07:31:36 +02:00
Daniel Marjamäki aa8c17a701 Tokenizer: remove stuff from simplifyTokenList2 2022-06-17 09:44:58 +02:00
Daniel Marjamäki 968d8d153e Fixed (False positive: derived union members are initialized in constructor) 2022-06-16 20:17:57 +02:00
Paul Fultz II 3e09503561
Fix 11087: false negative: usage of reference to member of temporary object not detected ()
* Fix 11087: false negative: usage of reference to member of temporary object not detected

* Format

* Add another test case

* Fix FP with pointer

* Format
2022-06-16 19:26:36 +02:00
Paul Fultz II 9cecc8468e
Fix 10570: Improve check; condition then pointer dereference, different pointers ()
* Try to use after assign in loop

* Update valueflow forward to handle init tokens

* Fix tests

* Make test TODO

* Format

* Add tests

* Format

* Fix ubsan error

* Use simpleMatch
2022-06-16 19:26:23 +02:00
Paul Fultz II de51ebbcf4
Fix 9135: Access of moved variable not detected in loop ()
* Fix 9135: Access of moved variable not detected in loop

* Format

* Fix issue with pushing back on container

* Format

* Fix null pointer

* Remove yeild for now
2022-06-16 17:40:09 +02:00
Daniel Marjamäki dbb12cb333 Tokenizer: Remove some functions from simplifyTokenList2 2022-06-16 14:06:07 +02:00
chrchr-github 176eefcbf3
Fix FN bitwiseOnBoolean with unseen function () 2022-06-14 23:08:17 +02:00
chrchr-github de9b65c737
Add tests for , , , , ()
* Add test for 

* Add test for 

* Fix test

* Add test for 

* Add test for 

* Add test for 

* Format

* Format

* Fix test

* Remove duplicate test

* Add valueflow test

* Rebuild

* Add tests for , , , , 
2022-06-14 13:05:07 +02:00
chrchr-github 6d22d6a8ae
Fix FP unusedVar with side effects in destructor () 2022-06-14 09:55:22 +02:00
chrchr-github 6f5a5fd947
Add some tests ()
* Add test for 

* Add test for 

* Fix test

* Add test for 

* Add test for 

* Add test for 

* Format

* Format

* Fix test

* Remove duplicate test

* Add valueflow test

* Rebuild
2022-06-14 09:54:45 +02:00
Daniel Marjamäki 343d04feb4 Tokenizer: Remove simplifyCharAt from simplifyTokenList2 2022-06-12 15:14:48 +02:00
Daniel Marjamäki 8255e32540 cppcheck build dir: do not produce invalid dump file if code is unchanged and checking is skipped. 2022-06-12 11:08:28 +02:00
Paul Fultz II d4fb5652c0
Fix 10619: Valueflow: Library function in subfunction does not propagate all values () 2022-06-12 07:17:28 +02:00
Paul Fultz II bd63534a1c
Fix 10740: valueflow; conditional value. incremented value is oob. () 2022-06-12 07:16:28 +02:00
chrchr-github ecb24e28bc
Fix FP redundantCopyLocalConst - referenced variable changes () 2022-06-11 16:58:33 +02:00
PKEuS cb382ac52c
C++20 support: Support consteval and constinit ()
Backported from LCppC.
2022-06-11 15:28:20 +02:00
Paul Fultz II 8945c151f5
Fix 11124: FP knownConditionTrueFalse with fruit ()
* Update valueType

* Allow comparisons

* Fix compare op

* Add test

* Format

* Fix FP

* Format
2022-06-11 11:02:04 +02:00
chrchr-github 8579feb3aa
Fix FP redundantCopyLocalConst with modified object [inconclusive] ()
* Fix   FP redundantCopyLocalConst with modified object [inconclusive]

* Comment
2022-06-11 11:01:23 +02:00
Paul Fultz II 653a1ea83e
Fix 11100: FP knownConditionTrueFalse with getter/setter member functions ()
* Fix 11100: FP knownConditionTrueFalse with getter/setter member functions

* Format
2022-06-11 11:00:40 +02:00
PKEuS 82af702c6f
LCppC backport: Restored Check: Detect negative VLA and allocation (new[]) sizes () 2022-06-11 09:55:38 +02:00
PKEuS 99ce89c003
Improvement: Set varId for variables with global scope operator :: Refactorization: Moved internal class from tokenize.h to tokenize.cpp ()
Merged from LCppC.
2022-06-11 08:11:16 +02:00
Paul Fultz II c9b85010f9
Fix 11096: FP knownConditionTrueFalse in do while loop ()
* Check for loop

* Improve handling of exit values

* Add more checks to test

* Simplify

* Remove unnecessary test

* Fix typo

* Format

* Use simpleMatch
2022-06-10 20:42:02 +02:00
chrchr-github 829ca9ab7f
Fix FP: compareBoolExpressionWithInt with enum and template parameter () 2022-06-10 20:40:37 +02:00
chrchr-github 51c8630bb3
Fix FP knownConditionTrueFalse with virtual function ()
* Fix  FP knownConditionTrueFalse with virtual function

* Remove redundant check
2022-06-10 20:17:57 +02:00
Daniel Marjamäki 375880988c Tokenizer: remove removeRedundantAssignment from simplifyTokenList2 2022-06-10 12:35:05 +02:00
chrchr-github 90392faa2b
Fix crash on nullptr deref () 2022-06-09 18:25:17 +02:00
Daniel Marjamäki a76ba698c2 Tokenizer: remove simplifyCompoundAssignment from simplifyTokenList2 2022-06-09 07:38:27 +02:00
Daniel Marjamäki c0f3d5b2fb Tokenizer: remove simplifyAssignmentInFunctionCall used in simplifyTokenList2 2022-06-08 19:08:18 +02:00
PKEuS 898a3a25a1
ValueType: Added additional unit test ()
Removed unnecessary library export

Backported from LCppC.
2022-06-08 15:27:56 +02:00
PKEuS 44097b59ff
Implemented error handling in cppcheck::Platform::loadFromXmlDocument(), enabled related unit test () () 2022-06-08 12:35:23 +02:00
Daniel Marjamäki 86a8d88729 Tokenizer: Remove simplification of math functions from simplifyTokenList2 2022-06-08 09:58:11 +02:00
Daniel Marjamäki e43d2b8a80 runformat 2022-06-08 09:21:01 +02:00
chrchr-github bb3f490edd
Fix Infinite recursion in findTypeInBase() () 2022-06-08 09:20:16 +02:00
Oliver Stöneberg 9367be804e
fixed `modernize-use-equals-delete` warnings in headers () 2022-06-07 21:25:23 +02:00
chrchr-github 69834d537b
Fix False negative: variable is not used () 2022-06-07 21:20:33 +02:00
chrchr-github 1d677c57a8
Fix FN: noExplicitConstructor with single default parameter () 2022-06-07 21:15:13 +02:00
chrchr-github b80d06b69e
Don't warn for 'x | MACRO' when MACRO is 0 () 2022-06-07 21:13:31 +02:00
chrchr-github 52453947c8
Don't warn for 'x | 0' in macro ()
* Fix  FN badBitmaskCheck for binary or with 0

* Add test for 

* Don't warn for 'x | 0' in macro

* Add test for 
2022-06-06 11:17:36 +02:00
orbitcowboy 326d340d76 Added a regression test; A real-world test case like this was found by daca@home: ftp://ftp.de.debian.org/debian/pool/main/o/ogdi-dfsg/ogdi-dfsg_4.1.0+ds.orig.tar.gz head ogdi-ogdi_4_1_0/ogdi/c-api/ecsinfo.c:637:26: error: Invalid strcspn() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr]. 2022-06-04 19:33:56 +02:00
chrchr-github f962436826
Fix FN badBitmaskCheck for binary or with 0 ()
* Fix  FN badBitmaskCheck for binary or with 0

* Add test for 
2022-06-04 17:25:10 +02:00
orbitcowboy 433ce58fe6 Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/libs/libslirp/libslirp_4.7.0.orig.tar.bz2; head libslirp-v4.7.0/src/tftp.c:336:20: error: Invalid strcasecmp() argument nr 1. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-04 12:00:54 +02:00
orbitcowboy 1c1c72058f Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/libs/libslirp/libslirp_4.7.0.orig.tar.bz2; head libslirp-v4.7.0/src/tftp.c:336:20: error: Invalid strcasecmp() argument nr 1. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-04 07:46:28 +02:00
chrchr-github e6f2929fac
Fix FN constVariable with range-based for () 2022-06-03 19:24:59 +02:00
orbitcowboy a74bb485b0 Fixed TODO_ASSERT 2022-06-03 18:59:09 +02:00
orbitcowboy 6680bf9790 Fixed TODO_ASSERT 2022-06-03 18:35:11 +02:00
chrchr-github 111f4e17da
Fix FP nullPointerArithmetic when adding 0 () 2022-06-03 13:11:54 +02:00
orbitcowboy 1a4bd0a7b3 Fixed FP, found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/k/knot/knot_3.1.8.orig.tar.xz; knot-3.1.8/tests/knot/test_confio.c:301:18: error: Invalid strcmp() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-03 13:10:45 +02:00
orbitcowboy 345411a68c Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/imx-usb-loader/imx-usb-loader_0~git20200517.30b43d69.orig.tar.gz; imx_usb_loader/imx_loader_config.c:130:16: error: Invalid strncat() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-03 10:20:19 +02:00
orbitcowboy a59e510cdc Fixed FP - invalidFunctionArgStr, found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/ion/ion_3.2.1+dfsg.orig.tar.gz; ion-open-source/arch-rtems/pmqlsi.c:146:18: error: Invalid mq_send() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-03 10:06:32 +02:00
orbitcowboy 8382ea7692 std.cfg: Improved configuration of strpbrk() and added regression tests. These cases were found in the wild (daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/ion/ion_3.2.1+dfsg.orig.tar.gz, ion-open-source/contrib/dtnperf/dtnperf/src/utils.c:71:32: error: Invalid strpbrk() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr]). 2022-06-03 08:36:25 +02:00
orbitcowboy 4e9565b4e6 Fixed FP invalidFunctionArgStr, found a daca@home: ftp://ftp.de.debian.org/debian/pool/main/h/haskell-hs-bibutils/haskell-hs-bibutils_6.10.0.0.orig.tar.gz 2022-06-02 23:39:04 +02:00
Paul Fultz II 72342de0da
Fix 11114: FP knownConditionTrueFalse across functions ()
* Fix 11114: FP knownConditionTrueFalse across functions

* Format
2022-06-02 23:24:11 +02:00
Oliver Stöneberg 133b9c2790
some `test/CMakeLists.txt` cleanups ()
* test/CMakeLists.txt: removed unnecessary `CTest` include - gets rid of additional CTest/CDash targets

* test/CMakeLists.txt: adjusted CMake version - `CMAKE_MATCH_<n>` requires 3.9`

* test/CMakeLists.txt: sorted `add_cfg()` calls

* test/CMakeLists.txt: extract test fixtures based on `REGISTER_TEST` macro

* test/CmakeLists.txt: added TODO
2022-06-02 22:26:01 +02:00
orbitcowboy 67795cdfcf
Fixed FPs from Ticket 11119 - invalidFunctionArgStr with null-terminated strings ()
* Fixed first FP from  - invalidFunctionArgStr with null-terminated strings

* Fixed second test case from .

* Fixed another FP, found on daca@home ftp://ftp.de.debian.org/debian/pool/main/g/glhack/glhack_1.2.orig.tar.gz.

* Format
2022-06-02 19:30:29 +02:00
orbitcowboy 58460edaf8 Fixed crash due to missing null pointer check. 2022-06-02 11:32:55 +02:00
orbitcowboy 0eae0023a3 posix.cfg: Added missing '<strz/>'-flags 2022-06-02 09:41:10 +02:00
orbitcowboy 63a8eac4d3 std.cfg: Added missing '<strz/>'-flags 2022-06-02 09:23:22 +02:00
orbitcowboy 886b5d1039 Improved invalidFunctionArgStr checking and detect more cases where a NON-null-terminated string is used to call functions, configured with <strz/>. 2022-06-02 01:09:09 +02:00
chrchr-github cd7362e0e7
Fix FN with default init ()
* Fix  FP: variableScope when using range constructor to vector

* Format

* Fix FN with default init
2022-06-01 23:18:59 +02:00
chrchr-github 2452a2c01d
Fix FP: variableScope when using range constructor to vector ()
* Fix  FP: variableScope when using range constructor to vector

* Format
2022-06-01 21:15:41 +02:00
chrchr-github 423e67bd6a
Fix FP memleak () 2022-05-30 06:55:15 +02:00
Paul Fultz II d7c914bd3e
Handle subfunction values in valueflow conditions () 2022-05-29 19:57:10 +02:00
chrchr-github 7fbb9c7c13
Fix FN constVariable with range-based for loop ()
* Fix  FN constVariable with range-based for loop

* Format

* nullptr check

* Restrict scopes

* Add const

* Undo

* Add more const
2022-05-29 17:06:33 +02:00
chrchr-github e1c51940a2
Fix FP constParameter with decremented pointer () 2022-05-28 08:32:58 +02:00
chrchr-github 16a4449901
Fix crash with statement expression () 2022-05-28 00:11:23 +02:00
chrchr-github 16af6561c2
Fix FP memleak with unknown ptr typedef ()
* Fix  FN memleak with redundant pointer op

* Style

* Fix  FN: Memory leak not detected on struct member

* Fix FP memleak with function call, fix cppcheckError

* Fix FP memleak with array

* Fix FPs memleak with array and ptr to ptr

* Fix FP memleak with unknown ptr typedef

* Format
2022-05-27 23:52:56 +02:00
chrchr-github d5d6da0dd4
Fix FP unreadVariable with unique_ptr and unknown type () 2022-05-27 17:17:50 +02:00
orbitcowboy 558e00272d windows.cfg: Improved configuration of _mbscmp() and _mbscmp_l(). 2022-05-27 12:28:30 +02:00
Rikard Falkeborn 068e5bad27
Fix : FP memleak with multiple assignments in if-statement ()
Similar to how we do for assignments outside if-statements, bail out
since we do not track multiple variables.
2022-05-27 07:57:43 +02:00
chrchr-github 19dd59eae6
Fix FPs memleak with array and ptr to ptr ()
* Fix  FN memleak with redundant pointer op

* Style

* Fix  FN: Memory leak not detected on struct member

* Fix FP memleak with function call, fix cppcheckError

* Fix FP memleak with array

* Fix FPs memleak with array and ptr to ptr
2022-05-26 15:27:36 +02:00
chrchr-github 86763b7b0a
Fix FP memleak with array ()
* Fix  FN memleak with redundant pointer op

* Style

* Fix  FN: Memory leak not detected on struct member

* Fix FP memleak with function call, fix cppcheckError

* Fix FP memleak with array
2022-05-26 00:03:30 +02:00
chrchr-github 2b611709e2
Add test for () 2022-05-25 23:28:54 +02:00
chrchr-github 1ed280fe63
Fix FP memleak with function call, fix cppcheckError ()
* Fix  FN memleak with redundant pointer op

* Style

* Fix  FN: Memory leak not detected on struct member

* Fix FP memleak with function call, fix cppcheckError
2022-05-24 14:02:06 +02:00
chrchr-github 2ceaf308de
Fix : ValueType for pointer typedef, don't warn for typedef'd pointers, improve error message ()
* Fix ValueType for pointer typedef

* Add test

* Don't warn for typedef'd pointers, improve error message

* Fix tests

* Add TODO

* Fix test

* Set isSimplifiedTypedef() for more tokens, add test

* Add test
2022-05-24 10:09:48 +02:00
orbitcowboy c30333425b Added a regression test for ticket - FN: knownConditionTrueFalse 2022-05-24 09:21:21 +02:00
Paul Fultz II 5999b35130
Fix 10944: FN: knownConditionTrueFalse ()
* Fix 10944: FN: knownConditionTrueFalse

* Use or

* Format
2022-05-23 23:22:08 +02:00
chrchr-github 1ced94be43
Fix FN memleak with redundant pointer op / FN: Memory leak not detected on struct member ()
* Fix  FN memleak with redundant pointer op

* Style

* Fix  FN: Memory leak not detected on struct member
2022-05-23 23:21:36 +02:00
Paul Fultz II e2c35abde5
Fix 11050: False positive: unreadVariable for class variable when another function uses the same variable name () 2022-05-22 09:20:32 +02:00
chrchr-github 22a4fdb6c4
Fix crash in checkPassByReference() () 2022-05-21 16:02:35 +02:00
Daniel Marjamäki 1f6554e2e8 Update copyright year 2022-05-21 12:18:27 +02:00
chrchr-github 2a7f00cf9a
Fix FN Condition '...' is always true ' uint16_t i; ( i <= 0xFFFF)' () 2022-05-21 08:33:42 +02:00
Paul Fultz II feaef46436
Fix 11076: Assert failure / crash with loop over init list () 2022-05-21 08:25:09 +02:00
Paul Fultz II a62fb986a5
Fix 11090: Infinite recursion in findTypeInBase() () 2022-05-21 08:24:29 +02:00
chrchr-github 2b723eafcb
Fix ValueType for references in range-based for loop ()
* Fix ValueType for references in range-based for loop

* Format
2022-05-20 08:48:01 +02:00
chrchr-github 112b1573c5
Fix FN constructing string from nullptr / FN unread variables ()
* Fix  FN constructing string from nullptr /  FN unread variables

* Format
2022-05-18 13:52:44 +02:00
Paul Fultz II 90e6c10c12
Fix 11072: FP arrayIndexOutOfBounds, nullPointer with nested loops ()
* Fix 11072: FP arrayIndexOutOfBounds, nullPointer with nested loops

* Format

* Remove print statement
2022-05-18 08:29:30 +02:00
orbitcowboy 06216b06fc Fixed failing CI. 2022-05-15 08:53:21 +02:00
orbitcowboy 4f410ffb79
library: Improved argument <valid>-interface to defined values that are explicitly excluded. ()
* library: Improved <valid>-interface to defined values that are explicitly excluded.

* std.cfg: Improved configuration of remainder[fl]().

* Fixed failing self check

* Fixed failing self check

* std.cfg: Added support for std::remquo().
2022-05-14 16:05:18 +02:00
chrchr-github 52f507d1fb
Fix unintentional semicolon in expression '.. ; +dostuff();' ()
* Fix  unintentional semicolon in expression '.. ; +dostuff();'

* Improve error message

* Don't remove single unary + in front of variables
2022-05-13 06:54:02 +02:00
Paul Fultz II fbba72ab5a
Fix 11057: FP danglingTemporaryLifetime with reference member ()
* Fix 11057: FP danglingTemporaryLifetime with reference member

* Add test

* Format

* Use ast for number of arguments

* Get number of arguments using ast

* Skip aggregate constructor when there are too many arguments

* Format
2022-05-13 06:51:07 +02:00
Paul Fultz II 5f9bee9b91
Fix 11056: FP uninitvar with known condition in loop ()
* Fix 11056: FP uninitvar with known condition in loop

* Format
2022-05-12 06:37:48 +02:00
Paul Fultz II 6d3208ecb0
Fix 11062: false positive: knownEmptyContainer (regression) ()
* Fix 11062: false positive: knownEmptyContainer (regression)

* Format
2022-05-12 06:24:16 +02:00
Paul Fultz II 5d8da2b83c
Fix 11035: FP arrayIndexOutOfBoundsCond with array and vector ()
* Fix 11035: FP arrayIndexOutOfBoundsCond with array and vector

* Format

* Move comment
2022-05-12 06:21:33 +02:00
chrchr-github e7e8b1baf9
Fix FN: "static" not suggested for non-const method ()
* Fix  FN: "static" not suggested for non-const method

* Format

* Make functions static

* static
2022-05-11 20:01:22 +02:00
chrchr-github 63a1698335
Fix FP multiCondition when variable is assigned in if/else () 2022-05-11 20:01:13 +02:00
orbitcowboy d0b7fe887a Added a regression test for - Comparing Boolean variables (> or <) 2022-05-11 11:30:02 +02:00