1124 Commits

Author SHA1 Message Date
Paul Fultz II
3874c546cc
Fix 10641: FP invalidLifetime with compiler-generated constructor () 2021-12-07 07:43:25 +01:00
Paul Fultz II
d2926bfa96
ValueFlow: Propagate const variables more aggressively ()
* ValueFlow: Propagate const variables more aggressively

* Format

* Fix incorrect addition
2021-12-06 09:16:42 +01:00
Paul Fultz II
f64bcac004
Fix 10429: Regression: invalidIterator () 2021-12-05 15:46:52 +01:00
Paul Fultz II
a03e731930
Track lifetimes of lambdas that capture the 'this' variable () 2021-12-04 17:00:55 +01:00
Paul Fultz II
c14920218c
Fix 10624: FP knownConditionTrueFalse with pointer member and dynamic cast () 2021-12-04 08:54:24 +01:00
Paul Fultz II
a0d633945e
Fix 10621: FP arrayIndexOutOfBoundsCond with multiple index checks ()
* Fix 10621: FP arrayIndexOutOfBoundsCond with multiple index checks

* Format
2021-12-04 08:54:04 +01:00
Paul Fultz II
57f5b19b34
Fix 7812: False negative: return pointer of local variable ()
* Fix 7812: False negative: return pointer of local variable

* Format

* Add test case for 3029

* Format
2021-11-28 15:25:21 +01:00
Paul Fultz II
143ddf2758
Fix 10595: FN: std::vector() reserve() ()
* Fix 10595: FN: std::vector() reserve()

* Format
2021-11-26 09:50:02 +01:00
Paul Fultz II
12e731ad49
Fix 10605: FP containerOutOfBounds with empty() check () 2021-11-25 22:34:00 +01:00
Paul Fultz II
33ad30f4da
Fix 10617, 9824: conditions in expanded macro () 2021-11-25 18:40:15 +01:00
Paul Fultz II
a0d3c2c719
Handle for loop conditions in afterCondition () 2021-11-14 18:30:36 +01:00
Paul Fultz II
112363c9d1
Fix 10590: container access out of bounds not found ()
* Refactor container bounds check

* Use symbolic values

* Add test case

* Format
2021-11-13 07:45:29 +01:00
Paul Fultz II
c057dcce0f
Fix 10592: False positive: returnDanglingLifetime () 2021-11-11 08:00:05 +01:00
Paul Fultz II
035c70c441
Fix 10578: Value not impossible after check () 2021-11-07 18:19:56 +01:00
Paul Fultz II
1791457227
Fix 9953: false positive: uninitvar () 2021-11-07 06:51:19 +01:00
Paul Fultz II
6338c2396c
Fix 10589: False positive: danglingLifetime for moved unique ptr () 2021-11-06 19:08:19 +01:00
Paul Fultz II
ffc2a9d8e2
Fix 9735 for valueFlowUninit () 2021-11-06 19:06:07 +01:00
Daniel Marjamäki
0f259a5dc6 Fixed (regression: arrayIndexOutOfBounds) 2021-11-03 20:16:44 +01:00
Paul Fultz II
d3f0aa5b34
Fix 10033: false negative: danglingTemporaryLifetime with usage of reference from nested object not detected () 2021-11-01 19:23:15 +01:00
Paul Fultz II
be14866095
Run valueFlowSubfunction in reverse order of functions () 2021-11-01 19:21:03 +01:00
Paul Fultz II
04ecf53a07
Use static array to store iterator infer models instead of constructing a vector everytime () 2021-11-01 19:18:18 +01:00
Paul Fultz II
df59b07ba1
Fix 10226: FN: knownConditionTrueFalse () 2021-10-31 14:51:07 +01:00
Paul Fultz II
8c9c46835a
Fix for 6597: false negative: uninitialized variable usage not detected (ValueFlow , multi variables) () 2021-10-30 22:13:58 +02:00
Paul Fultz II
e20ddd55d6
Propagate partially uninit variables in ValueFlow () 2021-10-30 07:43:37 +02:00
Paul Fultz II
48fc70b810
Dont stop analysis when an unrelated class variable is changed () 2021-10-23 14:47:10 +02:00
Paul Fultz II
ca83222bae
Add subexpression analyzer to set values for uninitialized members of struct ()
* Add subexpression analyzer

* Fix errors

* Add tests

* Format

* Add more tests

* Run members first

* Format

* Uncomment todo assert

* Formatting

* Use simpleMatch
2021-10-21 14:44:48 +02:00
chrchr-github
c88dceff95
Partial fix for : set value for int s{ 4 }; () 2021-10-15 20:05:42 +02:00
Paul Fultz II
89515600e4
Fix 10538: FN: nullPointer (std::swap pointers) () 2021-10-15 10:58:16 +02:00
Paul Fultz II
130d1abbce
Fix 10210: FN: nullPointerRedundantCheck regression in member function () 2021-10-15 10:57:40 +02:00
Paul Fultz II
f1f86db0da
Fix 10544: FP knownConditionTrueFalse with loop after check () 2021-10-14 16:47:15 +02:00
Paul Fultz II
6b9ef1fc58
Propagate symbolic values for identity operators () 2021-10-14 16:46:36 +02:00
Oliver Stöneberg
99db1f3f22
fixed some compiler warnings () 2021-10-13 12:10:26 +02:00
Paul Fultz II
52e4bec50a
Fix 10537: FN: knownConditionTrueFalse (std::string::c_str() never returns nullptr) () 2021-10-11 19:16:12 +02:00
Paul Fultz II
5e9bc48d26
Evaluate symbolic values () 2021-10-11 19:10:37 +02:00
Daniel Marjamäki
6bd5f79451 Revert "Fix 8629: false negative: (style) Condition '...' is always true ()"
This reverts commit b9be38aaecaf39f2c9fc7ae6786c6b1eaa40f4e5.
2021-10-10 21:21:21 +02:00
Paul Fultz II
b9be38aaec
Fix 8629: false negative: (style) Condition '...' is always true () 2021-10-09 16:20:38 +02:00
Paul Fultz II
bc90ae889d
Fix 10543: FP knownConditionTrueFalse with static variable () 2021-10-09 16:20:04 +02:00
Paul Fultz II
a1e0ef9b38
Refactor: Use interval analysis for symbolic values for inferCondtion () 2021-10-09 16:19:06 +02:00
Paul Fultz II
25eb0ab5bc
Find dangling pointers to unique_ptr () 2021-10-06 08:46:25 +02:00
Paul Fultz II
3cb252bd99
Fix 9873: False negative: null pointer when checking raw pointer () 2021-10-06 08:39:58 +02:00
chrchr-github
f3e1f0d41b
Fix : char* confused with char () 2021-10-05 18:04:48 +02:00
Paul Fultz II
8668d445c7
Add support for string_view () 2021-10-05 08:28:19 +02:00
Paul Fultz II
c7e13d0e0b
Forward container size values in subfunctions () 2021-10-05 08:22:19 +02:00
KenPatrickLehrmann
61cddabe74
Fix FP due to namespace scope () 2021-10-04 23:16:16 +02:00
chrchr-github
428144c53c
Fix : vector constructed from pointers () 2021-10-04 07:55:17 +02:00
Paul Fultz II
7621fee3d4
Refactor: Use ValueFlow::Value for ProgramMemory execute instead of integers () 2021-10-04 07:53:58 +02:00
chrchr-github
609e20d9d8
ValueFlow: string can be constructed from init list () 2021-10-02 23:09:49 +02:00
Paul Fultz II
255dc0484a
Fix 10331: wrong conditional value after assignment+return () 2021-09-21 19:25:41 +02:00
Paul Fultz II
9e9a982c6c
Fix 10468: False positive; uninitialized variable. Loop is always executed at least once () 2021-09-18 22:23:05 +02:00
Paul Fultz II
9ece849d80
Fix 10467: FP mismatchingContainers with array of vectors () 2021-09-09 20:43:46 +02:00