Paul Fultz II
e0de48bb1d
Fix 7524: ValueFlow: false path for 'x<3' ( #3393 )
2021-08-16 09:19:07 +02:00
Daniel Marjamäki
6a565f9e2f
cleanup unused function
2021-08-15 11:01:14 +02:00
Paul Fultz II
be978b35cf
Add more ValueFlow info in the xml dumps ( #3402 )
2021-08-15 08:02:31 +02:00
Paul Fultz II
f81ddd2daa
Fix 10408: FP nullPointer on 'return x.release()' ( #3404 )
2021-08-15 07:43:50 +02:00
Paul Fultz II
c92dab1329
Fix 10406: FP danglingLifetime with pointer-to-pointer ( #3401 )
2021-08-14 21:37:17 +02:00
Paul Fultz II
b9ac48c90a
Fix 10409: FP 'Condition 's.size()<3' is always false' ( #3396 )
2021-08-14 06:48:38 +02:00
Paul Fultz II
69eaa9dfd9
Refactor: ConditionHandler cleanup ( #3394 )
2021-08-11 08:37:37 +02:00
Paul Fultz II
0f897acecd
Fix FP in solveExpr when using symbolic values ( #3391 )
2021-08-09 20:41:10 +02:00
Paul Fultz II
a218ea3b23
Fix 10404: FP knownConditionTrueFalse after subtraction ( #3390 )
2021-08-09 07:45:41 +02:00
Daniel Marjamäki
5f81b03df1
valueflow; Remove unused function, fixing gcc warning
2021-08-08 21:25:47 +02:00
Daniel Marjamäki
fa398a6ba1
valueflow: remove not needed INDENT-OFF and INDENT-ON
2021-08-08 21:22:42 +02:00
Paul Fultz II
7f358b2bed
Format with uncrustify ( #3388 )
2021-08-07 20:51:18 +02:00
Paul Fultz II
735f716603
Fix 10394 and 10395: FP knownConditionTrueFalse: loop variable ( #3381 )
2021-08-04 21:07:55 +02:00
Paul Fultz II
8b8ae55490
Fix 10129: false negative: knownConditionTrueFalse ( #3382 )
...
* Add symbolic matching
* Check for truncated values
* Dont propagate uninit values
* Update errorpath test
* Add test case for 10129
* Add test case for FP
* Remove symbolic values that are the same as the token
* Fix test messages
* Fix cppcheck issue
* Format
2021-08-04 21:07:31 +02:00
Paul Fultz II
4626f9ed76
Fix FP when returning a pointer to a container ( #3379 )
2021-08-04 08:16:31 +02:00
Paul Fultz II
6736ac7e3a
Revert "Formatted the code [ci skip]" ( #3380 )
...
This reverts commit 7a6d7f7c2d
.
2021-08-03 17:53:30 +02:00
orbitcowboy
7a6d7f7c2d
Formatted the code [ci skip]
2021-08-03 06:33:54 +02:00
Paul Fultz II
08041e3a0b
Refactor: Assert an expression has an id and fix assertion failures ( #3377 )
...
* Fix 10390: FP: knownConditionTrueFalse
* Assert expression has an ID
* Fix assertion errors
* Format
2021-08-03 06:31:52 +02:00
Paul Fultz II
7be9b217e6
Fix 7843 and 7844: ValueFlow for abs ( #3373 )
...
* Refactor: Use valueFlowForward to forward values in condition expression
* Formattting
* Make known when using bools as well
* Set abs function as always positive
* Add test
* Add valueFlowSymbolicAbs
* Set impossible values
* Fix test case
* Fix error messages
* Merge
2021-08-03 06:31:28 +02:00
Paul Fultz II
3d19b33c3e
Fix 9948 and 10234: false negative: knownConditionTrueFalse and stlOutOfBounds ( #3372 )
2021-08-02 10:51:34 +02:00
Paul Fultz II
61ceff39f5
Fix 10390: FP: knownConditionTrueFalse ( #3374 )
2021-08-02 10:49:39 +02:00
Daniel Marjamäki
1ec7397c21
astyle formatting
...
[ci skip]
2021-08-01 14:05:30 +02:00
Paul Fultz II
2f6a6e4b45
Refactor: Use valueFlowForward to forward values in condition expression ( #3369 )
2021-08-01 10:13:14 +02:00
Paul Fultz II
7d9fdf582b
Fix 10121: False positive: Condition 'ab->a!=123' is always false when modifying an alias ( #3293 )
2021-08-01 10:10:11 +02:00
Paul Fultz II
6767b57d4c
Fix FP for symbolic values when the expression is not const ( #3370 )
2021-07-31 14:19:37 +02:00
Paul Fultz II
3a7ba3cd29
Add symbolic values to ValueFlow ( #3367 )
2021-07-30 21:29:35 +02:00
Paul Fultz II
6a81b4c17c
Fix 10264: FP invalidContainer when address of container is passed inside struct ( #3368 )
2021-07-30 15:52:00 +02:00
Paul Fultz II
737b6199ba
Refactor: Allow parse to return multiple values for a condition ( #3361 )
2021-07-26 22:23:19 +02:00
Paul Fultz II
c34691ff56
Fix 10354: FP knownConditionTrueFalse after bitwise and/xor ( #3360 )
2021-07-26 22:22:50 +02:00
Paul Fultz II
84ea0a2295
Refactor: Remove extra analysis of container sizes in conditions ( #3357 )
2021-07-25 18:14:51 +02:00
Paul Fultz II
5be3f700bb
Fix 10373: ValueFlow: container in struct assumed empty ( #3355 )
2021-07-25 18:13:55 +02:00
Paul Fultz II
8e416a7255
Fix issue 10379: FP knownConditionTrueFalse with mod operator ( #3354 )
2021-07-25 18:13:14 +02:00
Paul Fultz II
00eb71fd49
Remove constexpr -> const simplification ( #3346 )
2021-07-22 07:22:26 +02:00
Paul Fultz II
8efe1d4ab4
Find reference to dangling unique ptr ( #3344 )
2021-07-20 21:30:27 +02:00
Daniel Marjamäki
dd34d1c123
CI; Fix Cppcheck self-check, pointer can be const
2021-07-20 11:21:47 +02:00
orbitcowboy
1be5bb8bbc
Running astyle [ci skip]
2021-07-18 10:01:22 +02:00
Paul Fultz II
59a1c1a9d8
Refactor: Remove variable analyzer ( #3339 )
2021-07-18 07:46:31 +02:00
orbitcowboy
3f1e937ea1
Running astyle [ci skip]
2021-07-17 08:19:04 +02:00
chrchr-github
8cd8b9c64e
Fix MSVC build and some warnings ( #3334 )
2021-07-16 21:55:12 +02:00
Paul Fultz II
942202aede
Evaluate container sizes in forward analysis ( #3338 )
2021-07-16 18:49:07 +02:00
Daniel Marjamäki
56924643be
Fixed #10347 (ValueFlow: No known value set for sizeof(a[0]))
2021-07-08 18:18:44 +02:00
Armin Müller
fc90598077
Typos found by running "codespell" ( #3324 )
2021-07-02 17:41:51 +02:00
Daniel Marjamäki
1a5449cbeb
Fixed #10327 (ValueFlow; Wrong Uninit value in called function)
2021-07-01 22:08:00 +02:00
Daniel Marjamäki
2a2e071a85
Tokenizer::simplifyAttribute; Set function attribute for function pointer
2021-06-26 14:23:39 +02:00
Paul Fultz II
66956ed959
Fix 10323: Wrong known value. x!=0 does not mean that x==1 ( #3308 )
2021-06-26 09:16:45 +02:00
Paul Fultz II
508188df2b
Fix 10297: Regression; ValueFlow known value, sign conversion ( #3307 )
2021-06-26 09:16:04 +02:00
Daniel Marjamäki
769b20b426
ValueFlow: Clarify note when impossible value is assigned ( #10297 )
2021-06-24 17:10:06 +02:00
Daniel Marjamäki
2d08564c8a
astyle formatting
2021-06-19 14:47:35 +02:00
Paul Fultz II
dd178c3ad9
Fix 10314: Possible nullPointerRedundantCheck false positive ( #3298 )
2021-06-19 13:59:48 +02:00
Paul Fultz II
f55a4563f9
Fix 10308: danglingTemporaryLifetime confused by function parameter ( #3292 )
2021-06-09 09:21:03 +02:00
Paul Fultz II
f3a33ea330
Fix 10294: ValueFlow: Wrong <Uninit> value below loop ( #3291 )
2021-06-09 09:20:43 +02:00
orbitcowboy
195d413986
Running astyle [ci skip]
2021-06-05 08:53:15 +02:00
Paul Fultz II
f90b05ea7c
Show lifetime kind in output ( #3285 )
2021-06-04 21:41:30 +02:00
Paul Fultz II
668b88d7c0
Fix 10284: False positive; valueFlowBeforeCondition does not seem to care about increment ( #3287 )
2021-06-04 21:40:57 +02:00
Paul Fultz II
a14922ed85
Fix 10238: FP knownConditionTrueFalse std::string from const char* assumed non-empty ( #3288 )
2021-06-04 17:22:05 +02:00
Paul Fultz II
537fb5bcd9
Fix 10264: FP invalidContainer when address of container is passed inside struct ( #3286 )
2021-06-04 17:20:47 +02:00
Paul Fultz II
486e440c4a
Fix 10298: ValueFlow: Wrong known value, 'x == -1' implicit unsigned cast for rhs ( #3277 )
2021-06-04 17:17:41 +02:00
Paul Fultz II
95c872b1ec
Fix todo test for returning a dangling reference ( #3284 )
2021-06-04 17:15:39 +02:00
Paul Fultz II
548ec10824
Fix issue 10306: FP knownConditionTrueFalse with modulo result converted to bool ( #3282 )
2021-06-03 07:26:36 +02:00
Paul Fultz II
ab50a75d8a
Fix 10289: ValueFlow; Wrong known value 'size_t - uint16_t > 0' ( #3273 )
2021-05-24 08:28:21 +02:00
Paul Fultz II
47a4144b47
Fix 10288: ValueFlow; False positives because of wrong known value when there is sign cast ( #3268 )
2021-05-23 10:20:29 +02:00
Paul Fultz II
8541e0503e
Fix 10290: false negative: container out of bounds ( #3269 )
2021-05-22 23:33:13 +02:00
Paul Fultz II
c63aa2f2cc
Fix 10263: FP containerOutOfBounds when container is accessed via pointer ( #3265 )
2021-05-22 08:36:51 +02:00
Paul Fultz II
1e3ab460a3
Fix 10254: false positive: arrayIndexOutOfBounds in inline function ( #3266 )
2021-05-22 08:20:09 +02:00
Armin Müller
c70b8793a3
Typos found by running "codespell" ( #3251 )
2021-05-19 11:49:19 +02:00
Paul Fultz II
4b11bb4ad3
10278: ValueFlow: Wrong known value, sign conversion ( #3260 )
2021-05-18 07:28:45 +02:00
Paul Fultz II
eb96e4980e
Fix issue 10268: ValueFlow; Wrong value in for loop ( #3257 )
2021-05-15 08:39:20 +02:00
Daniel Marjamäki
abb4200316
Fixed #10196 ("Unhandled char constant 'x'" with non-standard escape character)
2021-05-08 12:54:18 +02:00
Daniel Marjamäki
07c1f28035
astyle formatting
2021-05-01 07:35:03 +02:00
Paul Fultz II
31e3e4d87b
Fix issue 10086: false positive: (style) constVariable: Variable 'x' can be declared with const ( #3219 )
2021-04-30 17:47:08 +02:00
Daniel Marjamäki
04e9c13bc6
TemplateSimplifier; Better handling of c++17 fold expressions and c++20 concepts.
...
c++17 fold expressions are simplified to a __cppcheck_uninstantiated_fold__ if they are not instantiated.
c++20 concepts are skipped/removed by Cppcheck and these will be enforced by the compiler.
2021-04-20 15:40:25 +02:00
Paul Fultz II
db5f00a16a
Fix issue 10214: FP: danglingTempReference doesn't account for reference lifetime extension ( #3220 )
...
* Fix issue 10214: FP: danglingTempReference doesn't account for reference lifetime extension
2021-04-19 14:20:29 +02:00
Paul Fultz II
563c9dd9cc
Fix issue 10208: FP: knownConditionTrueFalse in for loop with function that assigns by ref ( #3198 )
2021-04-18 21:42:27 +02:00
Paul Fultz II
a772d652d8
Fix issue 9932: FP: containerOutOfBounds ( #3217 )
...
* Fix issue 9932: FP: containerOutOfBounds
2021-04-18 10:43:38 +02:00
Oliver Stöneberg
5a7e361442
run self-checks with standard set to C++11 ( #3206 )
2021-04-12 18:29:13 +02:00
Paul Fultz II
255f273c46
Fix issue 10088: ValueFlow: Array size, wrong known value ( #3204 )
2021-04-09 07:43:54 +02:00
Paul Fultz II
e0f9627201
Fix issue 10226: FP: redundant condition or invalid iterator ( #3195 )
2021-04-06 11:04:37 +02:00
Paul Fultz II
f605f71e49
Fix issue 10225: false positive: knownConditionTrueFalse ( #3196 )
2021-04-05 10:20:14 +02:00
Daniel Marjamäki
44f914eaee
astyle formatting
...
ci skip
2021-04-04 18:20:32 +02:00
Paul Fultz II
182ae75290
Fix issue 10216: FP containerOutOfBounds with std::array initialized with = {} ( #3190 )
2021-03-31 22:07:54 +02:00
Oliver Stöneberg
9b974f1b8e
fixed Visual Studio warnings about shadowed members ( #3191 )
2021-03-31 22:07:20 +02:00
Paul Fultz II
5077663684
Fix issue 9979: false positive: containerOutOfBounds with conditional resize ( #3136 )
2021-03-30 14:02:28 +02:00
Paul Fultz II
9de976b243
Fix issue 10194: hang with followAllReferences() ( #3189 )
...
* Decrease depth faster when there is multiple returns
2021-03-30 11:22:56 +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
PKEuS
6a811eec1c
Refactorization: Removed unused functions
2021-02-17 22:44:03 +01:00
Daniel Marjamäki
0a71b52a87
Remove unused function
2021-02-11 19:27:36 +01:00
Daniel Marjamäki
fbf63b932e
astyle formatting
...
[ci skip]
2021-02-10 11:42:00 +01:00
Oliver Stöneberg
39c5274742
valueflow.cpp: optimized SingleValueFlowAnaylzer::isAlias() by avoidi… ( #3051 )
2021-02-10 08:18:21 +01:00
Paul Fultz II
0e871c178f
Fix issue 10141: Errors with ref assignment (duplicateValueTenary and knownEmptyContainer) ( #3093 )
2021-02-09 15:27:46 +01:00
Paul Fultz II
cf8a5d9a22
Fix issue 10111: FP knownConditionTrueFalse ( #3110 )
2021-02-03 10:21:47 +01:00
Paul Fultz II
913dbeb8d8
Fix FP when inserting a range into a container ( #3108 )
2021-02-02 14:57:48 +01:00
Paul Fultz II
e17d22eb87
Fix issue 10134: False positive: value is not known. Early return. ( #3086 )
2021-01-28 12:37:56 +01:00
IOBYTE
4e1ff86bb2
use nonneg int for varid and exprid ( #3085 )
2021-01-27 19:49:13 +01:00
Daniel Marjamäki
987c8a854e
astyle formatting
...
[ci skip]
2021-01-25 22:51:50 +01:00
Paul Fultz II
0f8f207719
Remove valueFlowFwdAnalysis and update valueFlowAfterAssign to handle expressions ( #3074 )
2021-01-25 17:24:36 +01:00
Daniel Marjamäki
772b44d11a
Fixed compiler warnings
2021-01-23 18:04:28 +01:00
Paul Fultz II
c860de8565
Fix issue 8143: valueFlowCondition: before and inside while ( #3045 )
2021-01-23 17:52:01 +01:00
Paul Fultz II
d80f2fb46f
Reapply f1cc3ad
and fix performance regression ( #3076 )
2021-01-23 08:47:39 +01:00
orbitcowboy
bb451ca289
Running astlye [ci skip]
2021-01-22 21:47:24 +01:00