Commit Graph

506 Commits

Author SHA1 Message Date
Oliver Stöneberg 1d95d1908d
refs #10663 - sped up `Library::detectContainerOrIterator()` by iterating the containers only once (#4380) 2022-08-20 12:14:55 +02:00
Paul Fultz II 6cb3a79a64
Fix 11147: FP invalidContainer with substr() (#4333)
* Fix 11147: FP invalidContainer with substr()

* Format
2022-08-03 19:04:44 +02:00
Oliver Stöneberg efaaa58896
fixed some `modernize-use-emplace` false negatives and some `bugprone-assignment-in-if-condition` warnings (#4311) 2022-07-28 22:53:59 +02:00
chrchr-github 79f091c59a
Fix uselessCallsConstructor TODOs (#4299)
* Fix uselessCallsConstructor TODOs

* Format
2022-07-21 22:15:16 +02:00
chrchr-github 381c38b2f5
Improve check: uselessCallsConstructor (#4270) 2022-07-12 17:40:14 +02:00
chrchr-github 47c2a01392
Fix #11166 inefficient way to remove last character from std::string (#4267)
* Fix #11166 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 f9337b725b
Fix nullptr deref (#4262)
* 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() (#4258) 2022-07-10 11:38:01 +02:00
Oliver Stöneberg c9c1f83a69
use `emptyString` more consistently (#4034) 2022-07-10 10:57:29 +02:00
chrchr-github 60c1eef659
Fix FP containerOutOfBounds with std::map (#4230) 2022-06-23 20:26:47 +02:00
PKEuS 1275b5275e
LCppC backport: Various optimizations (#4182)
* Optimization: Use Token::eIncDecOp instead of expensive Token::Match calls

Merged from LCppC.

* Small Optimizations: - Moved a std::set that is only need during initialization of SymbolDatabase to function scope - Use std::vector instead of std::list

Merged from LCppC.

* Optimization: Refactorized various Token::Match calls and surrounding conditions

Merged from LCppC.

* Refactorization: Cleanup usage of std::multimap

Merged from LCppC.
2022-06-08 16:58:57 +02:00
Paul Fultz II 5afd6880c3
Fix 11028: False positive: invalidContainer (#4083)
* Fix 11028: False positive: invalidContainer

* Format
2022-05-05 06:54:36 +02:00
Paul Fultz II 3e686103ae
Fix 10984: False positive: invalidContainer when explictly capturing vector by reference (#4064) 2022-04-30 09:36:28 +02:00
Paul Fultz II 54fbfd7c0f
Fix 10895: FP danglingTempReference with emplace() (#3948)
* Fix 10895: FP danglingTempReference with emplace()

* Format
2022-03-27 10:02:30 +02:00
Paul Fultz II 0b310b9d07
Fix 10702: FP knownConditionTrueFalse - Member variable modified (#3857)
* Fix 10702: FP knownConditionTrueFalse - Member variable modified

* Format

* Make parameter const

* Fix FP

* Fix FP

* Update

* Format
2022-02-28 18:54:55 +01:00
Oliver Stöneberg b5ed13c8bc
checkstl.cpp: removed unused global containers and made a std::string a literal so it can be matchcompiled (#3801) 2022-02-08 09:02:59 +01:00
Daniel Marjamäki 3989408738 Update copyright year 2022-02-05 11:45:17 +01:00
chrchr-github 17b538210d
Fix #10151 FP eraseDereference when returning iterator from loop (#3787) 2022-02-03 21:13:48 +01:00
Oliver Stöneberg 171da2e6f9
avoid dependency on transitive includes - based on include-what-you-use (#3757) 2022-01-27 19:03:20 +01:00
Paul Fultz II 6c2b1f093d
Another fix for 10728: Crash in CheckStl::checkDereferenceInvalidIterator2() (#3735)
* Another fix for 10728: Crash in CheckStl::checkDereferenceInvalidIterator2()

* Format
2022-01-21 09:56:41 +01:00
Paul Fultz II 7b793af451
Fix 10728: Crash in CheckStl::checkDereferenceInvalidIterator2 (#3721)
* Fix 10728: Crash in CheckStl::checkDereferenceInvalidIterator2

* Format
2022-01-18 14:48:02 +01:00
Paul Fultz II 2b6a89e30e
Fix 10716: Crash in CheckStl::checkDereferenceInvalidIterator2 (#3709)
* Fix 10716: Crash in CheckStl::checkDereferenceInvalidIterator2

* Format
2022-01-14 23:50:33 +01:00
chrchr-github af0a585a70
Partial fix for #9157 False negative: stlOutOfBounds, cast (#3699) 2022-01-13 08:03:24 +01:00
Oliver Stöneberg 0ba9cb4e64
fixed some unusedFunction warnings (#3618) 2022-01-04 15:48:08 +01:00
Oliver Stöneberg 38de9214a8
small CheckStl optimization (#3645) 2021-12-20 07:29:45 +01:00
Paul Fultz II 8dcea26c10
Find iterator mismatch when using temporary containers (#3579) 2021-12-04 12:55:56 +01:00
Paul Fultz II b80e24231b
Fix 10604: FP mismatchingContainerIterator with container member (#3575) 2021-11-23 22:50:32 +01:00
Paul Fultz II 112363c9d1
Fix 10590: container access out of bounds not found (#3560)
* Refactor container bounds check

* Use symbolic values

* Add test case

* Format
2021-11-13 07:45:29 +01:00
Daniel Marjamäki d90ee9bfb9 klocwork fixes; remove redundant nullpointer checks 2021-10-28 08:58:16 +02:00
Daniel Marjamäki eeaf2e5ff0 klocwork fixes; check that astSibling for comparison op does not return nullptr. remove check that pointer is non-null, the check should be redundant. 2021-10-28 08:55:08 +02:00
Daniel Marjamäki a838cb65fb stlFindInsert: Take care of review comments 2021-10-25 19:13:06 +02:00
Daniel Marjamäki d2d53e5043 Fixed #10558 (False positive; Searching before insertion in a loop is needed) 2021-10-24 19:13:42 +02:00
Paul Fultz II 84f102283b
Warn when modifying container from another function in a loop (#3510) 2021-10-15 11:54:29 +02:00
Paul Fultz II 82b725e540
Fix FP when using deferred locks (#3441) 2021-09-04 19:06:48 +02:00
Paul Fultz II e0de48bb1d
Fix 7524: ValueFlow: false path for 'x<3' (#3393) 2021-08-16 09:19:07 +02:00
Paul Fultz II 7f358b2bed
Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
Daniel Marjamäki e6d1b44758 Revert "Remove unnecessary null check (#3213)"
This reverts commit 6d13975def.
2021-05-01 18:54:51 +02:00
Ken-Patrick Lehrmann 6d13975def
Remove unnecessary null check (#3213) 2021-05-01 18:51:51 +02:00
Paul Fultz II c1bb1d771b
Fix issue 10012: False positive: mismatching container, not containers (#3222)
* Fix issue 10012: False positive: mismatching container, not containers
2021-04-19 09:17:02 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use (#3141) 2021-04-03 21:30:50 +02:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
PKEuS 141d2ac215 Refactorization: Improved internal implementation of severity and certainty levels
Backported from LCppC.
2021-02-24 22:00:06 +01:00
Daniel Marjamäki cc1dfe243c Fix Cppcheck warnings 2021-02-20 17:22:04 +01:00
PKEuS 25678a9faf Refactorized CheckStl::string_c_str(), fixing some false negatives by supporting member functions and overloads
Merged from LCppC.
2021-02-20 12:52:39 +01:00
Ken-Patrick Lehrmann 4e35f19659
10153: Check that string.find() is compared with 0 before recommending starts_with() (#3099) 2021-01-31 12:05:38 +01:00
orbitcowboy bb451ca289 Running astlye [ci skip] 2021-01-22 21:47:24 +01:00
Oliver Stöneberg 491f4874c5
fixed/aligned some compiler warnings (#3065) 2021-01-21 18:13:32 +01:00
abhijit-sawant b97387db66
Made missing comparison in loop check more generic (#3048) 2021-01-18 08:11:37 +01:00
Daniel Marjamäki 503662f625 Try to fix null pointer dereference 2021-01-15 08:27:58 +01:00
Daniel Marjamäki 55262f03ec Fixed #9218 (False positive: Searching before insertion is not necessary (stlFindInsert)) 2021-01-14 22:31:43 +01:00