Daniel Marjamäki
224492b0b5
Uninitalialized variables; Avoid FP for void cast
2021-05-17 05:59:28 +02:00
Daniel Marjamäki
30ef6db24c
CI; Fixed self check
2021-05-16 23:39:10 +02:00
Daniel Marjamäki
e034fa8a6e
UninitVar: Rewrite CheckUninitVar::isVariableUsage(), use AST primarily
2021-05-16 22:27:04 +02:00
Daniel Marjamäki
2c155a7a78
Uninitialized variables; use AST
2021-05-16 11:58:51 +02:00
Daniel Marjamäki
8476900a62
checkuninitvar; refactor code a bit
2021-05-16 08:38:51 +02:00
Daniel Marjamäki
899b88754f
uninitialized variables; fix false positive in loop
2021-05-15 11:16:47 +02:00
Daniel Marjamäki
c67e618627
self check; Fix shadow variable
2021-05-14 23:05:27 +02:00
Daniel Marjamäki
809c70b9c3
uninitialized variables; fix FP in for loop
2021-05-14 21:36:51 +02:00
Daniel Marjamäki
c29997b117
uninitvar: fixed TODO assertion
2021-05-14 11:54:18 +02:00
Daniel Marjamäki
d549770b5b
updated extracttests.py. fix syntax errors in test cases.
2021-05-13 20:21:02 +02:00
Daniel Marjamäki
22ab9ccd7f
Fixed #10273 (False negative; Uninitialized variable in for loop)
2021-05-11 20:35:15 +02:00
Daniel Marjamäki
db7be3e91b
Fixed #9810 (Improve check: uninitialized struct member not detected)
2021-05-10 19:24:03 +02:00
Daniel Marjamäki
c37b8ea55c
Fixed #8299 (false negative: uninitialized struct member)
2021-05-10 18:38:44 +02:00
Oliver Stöneberg
155ff890a5
split "autoNoType" and "bailoutUninitVar" from more generic "debug" ( #3209 )
2021-04-16 15:19:29 +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
IOBYTE
4e1ff86bb2
use nonneg int for varid and exprid ( #3085 )
2021-01-27 19:49:13 +01:00
Daniel Marjamäki
f493ce16b3
astyle formatting
...
[ci skip]
2021-01-10 14:46:19 +01:00
Paul Fultz II
bc3f5554a4
Fix issue 8871: improve check: mismatching container size conditions ( #2988 )
2021-01-10 13:30:00 +01:00
Oliver Stöneberg
ac7647fcd8
some self-check suppression cleanups ( #3032 )
2021-01-09 20:32:38 +01:00
Rikard Falkeborn
ed36856451
Refactor: Use visitAstNodes in checkuninitvar
2020-07-20 11:03:52 +02:00
Daniel Marjamäki
6c588cc3ef
Library: Refactoring <alloc> init attribute
2020-06-28 21:01:43 +02:00
Daniel Marjamäki
ca8b5f49f3
library: fixed handling of indirect attribute
2020-06-07 20:18:54 +02:00
miltolstoy
79c3af56e4
fix 9296: false negative uninit variable ( #2663 )
2020-05-28 21:28:18 +02:00
Oliver Stöneberg
37bc0483a4
made check.h less heavy ( #2633 )
2020-05-23 07:16:49 +02:00
Daniel Marjamäki
08ddd84780
Update copyright year
2020-05-10 11:16:32 +02:00
Daniel Marjamäki
3e0218299b
Revert "Update copyright year"
...
This reverts commit 6eec6c4bd5
.
2020-05-10 11:13:05 +02:00
Daniel Marjamäki
6eec6c4bd5
Update copyright year
2020-05-10 11:11:34 +02:00
Daniel Marjamäki
4779cb124e
Fixed #9649 (False positive: uninitialized struct member)
2020-05-07 22:27:18 +02:00
Oliver Stöneberg
2c1e36e63e
cleaned up includes based on include-what-you-use ( #2600 )
...
* cleaned up includes based on include-what-you-use
* check.h: trying to work around Visual Studio 2012 bug
* fixed Visual Studio compilation
2020-04-13 13:44:48 +02:00
Daniel Marjamäki
c029d5150c
Fixed #9123 (False positive: uninitialized variable)
2020-04-10 12:33:15 +02:00
Rikard Falkeborn
9896dce7f2
checkuninitvar: Fix FN with c++ casts ( #2549 )
2020-02-23 19:53:17 +01:00
Dmitry-Me
2168305f4e
Better variable name
2020-02-18 18:38:59 +03:00
Dmitry-Me
f6da17eda5
Return early to avoid unneeded computations
2020-02-17 18:56:27 +03:00
Daniel Marjamäki
ca3095746c
Fixed #9594 (False positive: Using argument that points at uninitialized variable when write only)
2020-02-04 18:56:18 +01:00
Dmitry-Me
01e0a61ebe
Break loops earlier
2020-01-16 18:37:10 +03:00
Daniel Marjamäki
b44029cdaa
Refactoring; CWEs should be clarified
2020-01-01 09:09:10 +01:00
Daniel Marjamäki
02eaf6fa93
Fixed #8998 (False positive uninitStructMember related to reference to member)
2019-12-19 20:18:32 +01:00
Sebastian
c990d10ffa
Check for JSON error when parsing addon .json files + fixes ( #2374 )
...
* cppcheck.cpp: Check for JSON error when parsing addon .json files
This fixes that errors in JSON files given via `--addon=*.json` are
silently ignored and maybe only a part of the JSON file is used.
Now the error message which picojson can return is checked and a
corresponding error message is returned again by getAddonInfo().
* naming.json: Fix missing comma
* CLI: Fix naming violations detected by addon naming.py via naming.json
* Addon naming: Add argument for validating names of constants
* LIB: Rename functions/variables so they are valid, loosen naming rules
* GUI: Fix naming violations
2019-11-20 15:37:09 +01:00
Daniel Marjamäki
bae4faa786
Fixed #9422 (FP uninitdata - writing pointer to output stream)
2019-11-16 11:47:57 +01:00
Daniel Marjamäki
7f57c980f0
Refactoring; shorter code
2019-11-16 11:20:26 +01:00
Paul Fultz II
7841430793
Fix issue 9428: FP uninitvar for pointer passed to sscanf ( #2344 )
...
* Add indirect to library cfg files
* Check indirect for non null arguments
* Reenable subfunction analysis
* Use indirect 1 when using not-null
* Parse correct string name
* Update documentation
* Make attribute optional
2019-11-13 12:46:54 +01:00
Daniel Marjamäki
f5a6aa530d
Fixed #9417 (FP uninitvar - member initialized in operator())
2019-11-11 15:00:53 +01:00
Daniel Marjamäki
c3ae028a41
Fixed #8617 (False positive: uninitdata for memory allocated and initialized in function called new (C code))
2019-11-03 17:08:28 +01:00
Daniel Marjamäki
210232d35c
Fixed #9314 (false positive: (error) Uninitialized variable: ret)
2019-10-29 20:36:58 +01:00
Paul Fultz II
166bd2bafc
Fix issue 2153: valueFlowAfterCondition: struct member ( #2228 )
...
* Fix issue 2153: valueFlowAfterCondition: struct member
* Fix null pointer dereference
* Formatting
* Check for another null pointer
* Initialize variables
* Remove redundant condition
* Format
* Add missing initialization to copy constructor
* Format
2019-09-30 21:04:43 +02:00
Paul Fultz II
ad8abdb0c3
Add impossible values to ValueFlow ( #2186 )
...
* Add impossible category
* Replace values
* Try to adjust known values
* Add ! for impossible values
* Add impossible with possible values
* Remove contradictions
* Add values when the branch is not dead
* Only copy possible values
* Dont bail on while loops
* Load std lib in valueflow
* Check for function calls
* Fix stl errors
* Fix incorrect impossible check
* Fix heap-after-use error
* Remove impossible values when they are lowered
* Show the bound and remove overlaps
* Infer conditions
* Dont push pointer values through dynamic_cast
* Add test for dynamic_cast issue
* Add shifttoomanybits test
* Add test for div by zero
* Add a test for issue 9315
* Dont make impossible value inconclusive
* Fix FP with shift operator
* Improve handleKnownValuesInLoop for impossible values
* Fix cppcheck warning
* Fix impossible values for ctu
* Bailout for streams
* Check equality conditions
* Fix overflows
* Add regression test for 9332
* Remove duplicate conditions
* Skip impossible values for invalid value
* Check for null
* Rename bound to range
* Formatting
2019-09-20 15:06:37 +02:00
Daniel Marjamäki
4e076e1854
Fix travis build
2019-09-12 19:06:57 +02:00
Daniel Marjamäki
da363c7d6f
Fixed #9349 (FP ctuuninitvar for pointer dereferenced inside sizeof)
2019-09-12 13:29:52 +02:00