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 ( #4163 )
...
* Fix 11114: FP knownConditionTrueFalse across functions
* Format
2022-06-02 23:24:11 +02:00
Oliver Stöneberg
133b9c2790
some `test/CMakeLists.txt` cleanups ( #4067 )
...
* 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 ( #4164 )
...
* Fixed first FP from #11119 - invalidFunctionArgStr with null-terminated strings
* Fixed second test case from #11119 .
* 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 ( #4162 )
...
* Fix #11099 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 #11099 FP: variableScope when using range constructor to vector ( #4161 )
...
* Fix #11099 FP: variableScope when using range constructor to vector
* Format
2022-06-01 21:15:41 +02:00
chrchr-github
423e67bd6a
Fix FP memleak ( #4145 )
2022-05-30 06:55:15 +02:00
Paul Fultz II
d7c914bd3e
Handle subfunction values in valueflow conditions ( #4128 )
2022-05-29 19:57:10 +02:00
chrchr-github
7fbb9c7c13
Fix #10980 FN constVariable with range-based for loop ( #4144 )
...
* Fix #10980 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 #11095 FP constParameter with decremented pointer ( #4131 )
2022-05-28 08:32:58 +02:00
chrchr-github
16a4449901
Fix crash with statement expression ( #4142 )
2022-05-28 00:11:23 +02:00
chrchr-github
16af6561c2
Fix FP memleak with unknown ptr typedef ( #4141 )
...
* Fix #11019 FN memleak with redundant pointer op
* Style
* Fix #7705 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 #11094 FP unreadVariable with unique_ptr and unknown type ( #4140 )
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 #9966 : FP memleak with multiple assignments in if-statement ( #4138 )
...
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 ( #4139 )
...
* Fix #11019 FN memleak with redundant pointer op
* Style
* Fix #7705 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 ( #4133 )
...
* Fix #11019 FN memleak with redundant pointer op
* Style
* Fix #7705 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 #11066 ( #4136 )
2022-05-25 23:28:54 +02:00
chrchr-github
1ed280fe63
Fix FP memleak with function call, fix cppcheckError ( #4130 )
...
* Fix #11019 FN memleak with redundant pointer op
* Style
* Fix #7705 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 #11084 : ValueType for pointer typedef, don't warn for typedef'd pointers, improve error message ( #4123 )
...
* 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 #8892 - FN: knownConditionTrueFalse
2022-05-24 09:21:21 +02:00
Paul Fultz II
5999b35130
Fix 10944: FN: knownConditionTrueFalse ( #4124 )
...
* Fix 10944: FN: knownConditionTrueFalse
* Use or
* Format
2022-05-23 23:22:08 +02:00
chrchr-github
1ced94be43
Fix #11019 FN memleak with redundant pointer op / #7705 FN: Memory leak not detected on struct member ( #4126 )
...
* Fix #11019 FN memleak with redundant pointer op
* Style
* Fix #7705 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 ( #4121 )
2022-05-22 09:20:32 +02:00
chrchr-github
22a4fdb6c4
Fix crash in checkPassByReference() ( #4122 )
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 #8545 FN Condition '...' is always true ' uint16_t i; ( i <= 0xFFFF)' ( #4114 )
2022-05-21 08:33:42 +02:00
Paul Fultz II
feaef46436
Fix 11076: Assert failure / crash with loop over init list ( #4119 )
2022-05-21 08:25:09 +02:00
Paul Fultz II
a62fb986a5
Fix 11090: Infinite recursion in findTypeInBase() ( #4120 )
2022-05-21 08:24:29 +02:00
chrchr-github
2b723eafcb
Fix ValueType for references in range-based for loop ( #4116 )
...
* Fix ValueType for references in range-based for loop
* Format
2022-05-20 08:48:01 +02:00
chrchr-github
112b1573c5
Fix #11078 FN constructing string from nullptr / #11079 FN unread variables ( #4112 )
...
* Fix #11078 FN constructing string from nullptr / #11079 FN unread variables
* Format
2022-05-18 13:52:44 +02:00
Paul Fultz II
90e6c10c12
Fix 11072: FP arrayIndexOutOfBounds, nullPointer with nested loops ( #4113 )
...
* 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. ( #4111 )
...
* 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 #8004 unintentional semicolon in expression '.. ; +dostuff();' ( #4109 )
...
* Fix #8004 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 ( #4103 )
...
* 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 ( #4107 )
...
* 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) ( #4106 )
...
* 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 ( #4105 )
...
* Fix 11035: FP arrayIndexOutOfBoundsCond with array and vector
* Format
* Move comment
2022-05-12 06:21:33 +02:00
chrchr-github
e7e8b1baf9
Fix #9861 FN: "static" not suggested for non-const method ( #4101 )
...
* Fix #9861 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 #11059 FP multiCondition when variable is assigned in if/else ( #4102 )
2022-05-11 20:01:13 +02:00
orbitcowboy
d0b7fe887a
Added a regression test for #4103 - Comparing Boolean variables (> or <)
2022-05-11 11:30:02 +02:00
chrchr-github
942dbad11c
Fix #7197 not getting expected warning in relational comparison of booleans ( #4095 )
...
* Fix #7197 not getting expected warning in relational comparison of booleans
* return nullptr
2022-05-11 08:09:32 +02:00
orbitcowboy
e9641e6de5
std.cfg: Attempt to fix failing CI
2022-05-10 23:09:10 +02:00
Daniel Marjamäki
72ba85a2fc
AST: Fix AST for array size calculation in cast (char (*)[...])
2022-05-10 22:47:57 +02:00
Daniel Marjamäki
4257f9d46a
Tokenizer: fix for __attribute__ before function that returns a reference
2022-05-10 20:59:24 +02:00
chrchr-github
a70d11adb6
Fix #11052 inline static global struct declaration interferes with checks ( #4098 )
2022-05-10 20:43:11 +02:00
orbitcowboy
f23111d610
std.cfg: Improved configuration of some <thread.h> (since C11) functions.
2022-05-10 19:21:41 +02:00
chrchr-github
e2bb77f990
Remove severity 'experimental' from checkComparisonOfBoolWithBool() ( #4097 )
...
* Enable experimental check
* Remove experimental
* Don't compare Booleans using relational operators
2022-05-10 18:25:13 +02:00
chrchr-github
ad547af6f9
Add tests for #6323 , #6855 , #6857 ( #4096 )
...
* Add tests for #6870 , #10749
* Add test for #6372
* Add tests for #6855 , #6857
* Add test for #6323
* Comment
2022-05-10 18:25:01 +02:00
orbitcowboy
57e35513b9
std.cfg: Improved testing of std::system()
2022-05-10 13:53:16 +02:00
chrchr-github
52cbbb0229
Fix FP uninitMemberVar with defaulted special member functions ( #4094 )
...
* Fix #10569 FN: duplicateExpression with multiple strings compared
* Fix compiler warning
* TODO -> ASSERT
* Update testautovariables.cpp
* Improve error message
* Format
* Improve message
* Fix FP with defaulted operator=
* Fix condition
2022-05-10 13:04:45 +02:00
Oliver Stöneberg
56ac230e97
added strict cfg check ( #4093 )
...
* runtests.sh: added strict mode - enabled via `STRICT=1`
* CI-unixish.yml: added strict cfg check
* runtests.sh: disabled syntax check for kde.cpp since `kde-4config` is no longer commonly available in recent distros
* runtests.sh: disabled syntax check for opencv2.cpp since `opencv.pc` is not commonly available in distros
* runtests.sh: added missing trailing slash to `CFG` - fixes define checks
2022-05-10 13:03:58 +02:00
orbitcowboy
6152e5712a
std.cfg: Improved configuration of std::filebuf::open().
2022-05-10 10:17:27 +02:00
orbitcowboy
1382cd837e
std.cfg: Improved configuration of std::*stream::open().
2022-05-10 10:07:55 +02:00
orbitcowboy
6a3520164a
std.cfg: Improved configuration of std::ifstream::open() and std::ios_base::open().
2022-05-10 09:50:02 +02:00
orbitcowboy
440e8f9c22
std.cfg: Improved configuration of std::ofstream::write(), std::ostringstream::write(), std::ostream::write() and std::fstream().
2022-05-10 09:30:13 +02:00
chrchr-github
54f832a2fe
Fix #10569 FN: duplicateExpression with multiple strings compared ( #4087 )
2022-05-09 21:05:35 +02:00
chrchr-github
38bdece3fe
Fix #9391 False negative: Uninitialized struct member (default constructor) ( #4088 )
...
* Fix #9391 False negative: Uninitialized struct member (default constructor)
* Format
* Initialize variables
* Init
2022-05-09 20:28:21 +02:00
Paul Fultz II
be6daa94bb
Fix 11053: Integer division by zero in calculate.h ( #4092 )
...
* Fix 11053: Integer division by zero in calculate.h
* Format
2022-05-09 20:27:32 +02:00
Paul Fultz II
69f09da63e
Fix 11044: FP knownConditionTrueFalse after early return ( #4091 )
...
* Fix 11044: FP knownConditionTrueFalse after early return
* Format
2022-05-09 20:26:52 +02:00
chrchr-github
16ef2c1838
Add test for #6372 ( #4090 )
...
* Add tests for #6870 , #10749
* Add test for #6372
2022-05-09 20:26:15 +02:00
chrchr-github
8c0561a78b
Add tests for #6870 , #10749 ( #4089 )
2022-05-09 14:52:31 +02:00
Daniel Marjamäki
eb9c4b4aed
Tokenizer: Fix handling of __attribute__ for overloaded operator function
2022-05-08 18:19:52 +02:00
orbitcowboy
b847882994
std.cfg: Improved configuration of vfwprintf().
2022-05-08 18:15:22 +02:00
orbitcowboy
0db793fc51
std.cfg: Improved configuration of vfprintf()
2022-05-08 18:06:30 +02:00
orbitcowboy
1942bd5679
std.cfg: Improved configuration of fprintf() and added TODO tests for wcsftime() when array count value exceeds bounds.
2022-05-08 18:02:10 +02:00
Daniel Marjamäki
fab55287f7
Tokenizer: improved handling of __asm__ in function declaration
2022-05-08 16:03:09 +02:00
Daniel Marjamäki
449d351095
Revert "Tokenizer: handle when __asm__ directive is provided for function"
...
This reverts commit f25b8cf662
.
2022-05-07 21:53:10 +02:00
Daniel Marjamäki
f25b8cf662
Tokenizer: handle when __asm__ directive is provided for function
2022-05-07 19:40:03 +02:00
chrchr-github
612d7be85a
Fix #11045 syntaxError with unknown macros and using namespace ( #4086 )
2022-05-05 19:47:56 +02:00
orbitcowboy
f3ae729f89
std.cfg: Improved configuration of fesetexceptflag() and fetestexcept().
2022-05-05 15:07:06 +02:00
Paul Fultz II
843f7893d6
Fix 11040: FP nullPointer after loop ( #4085 )
2022-05-05 06:55:02 +02:00
Paul Fultz II
8d16ee946c
Fix 11027: False positive: containerOutOfBounds from condition in assert ( #4084 )
...
* Fix 11027: False positive: containerOutOfBounds from condition in assert
* Format
2022-05-05 06:54:44 +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
chrchr-github
adba751217
Fix #11018 FP uninitvar with redundant pointer op ( #4082 )
...
* Skip redundant pointer op
* Fix #11018 FP uninitvar with redundant pointer op
* Format
2022-05-05 06:54:27 +02:00
chrchr-github
aebc080c0f
Fix #11041 FN constVariable with array of pointers [regression] ( #4080 )
...
* Fix #11041 FN constVariable with array of pointers [regression]
* Use std::vector for deterministic order of results, use helper variables
2022-05-05 06:54:03 +02:00
orbitcowboy
7c816425b9
gnu.cfg: Fixed compiler warning from GCC: warning: ‘struct servent’ declared inside parameter list will not be visible
2022-05-04 20:29:12 +02:00
chrchr-github
9a379925cd
FIx FN shadowVariable in static function ( #4079 )
...
* FIx FN shadowVariable in static function
* Use functionOf
2022-05-04 17:56:16 +02:00
chrchr-github
e2069dd1b9
Fix #10650 FN knownConditionTrueFalse with const int value ( #4078 )
2022-05-04 14:25:00 +02:00
Paul Fultz II
496b45f27b
Fix 11009: FP uninitvar ( #4076 )
...
* Fix 11009: FP uninitvar
* Format
2022-05-04 05:59:01 +02:00
chrchr-github
1e40a2e73e
Fix #5210 C-style pointer casting not detected for casts to ** ( #4075 )
2022-05-03 20:15:42 +02:00
chrchr-github
509e42afd4
Fix #11034 FN duplicateCondition with struct member ( #4074 )
...
* Fix #11034 FN duplicateCondition with struct member
* Update testcondition.cpp
2022-05-03 19:57:30 +02:00
chrchr-github
51b4cf592b
Fix #11029 unknownMacro reported with noexcept (regression) ( #4073 )
2022-05-03 13:37:14 +02:00
orbitcowboy
e293b66ac6
gnu.cfg: Added support for getservent_r().
2022-05-03 11:54:28 +02:00
Paul Fultz II
3edb10a006
Fix 11024: FP returnDanglingLifetime with c_str() passed to constructor ( #4072 )
2022-05-03 11:42:32 +02:00
orbitcowboy
9f7c34272d
Added a regression test for ticket #10000 - No UnreadVariable for simple class
2022-05-03 06:58:03 +02:00
chrchr-github
8ce0faf723
Fix #10427 Regression: selfInitialization ( #4070 )
2022-05-02 16:49:13 +02:00
orbitcowboy
5a7c998a79
posix.cfg: Improved configuration of getpwuid_r().
2022-05-02 16:48:22 +02:00
orbitcowboy
8cc16f1adb
posix.cfg: Improved configuration of getpwnam_r().
2022-05-02 16:41:33 +02:00
chrchr-github
67f4fe575f
Fix #10978 syntaxError with attribute for function pointer ( #4069 )
2022-05-02 15:05:48 +02:00
orbitcowboy
6c54e7363d
posix.cfg: Added support for fgetpwent_r().
2022-05-02 12:56:47 +02:00
orbitcowboy
86cc410dc2
posix.cfg: Added support for getpwent_r().
2022-05-02 12:51:58 +02:00
orbitcowboy
ba57f33f81
posix.cfg: Added support for getgrnam_r() and getgrgid_r().
2022-05-02 12:28:54 +02:00
orbitcowboy
0ec2d5f40d
std.cfg: Improved configuration of qsort().
2022-05-02 11:58:31 +02:00
orbitcowboy
6a657865eb
posix.cfg: Improved test cases for ffs().
2022-05-01 18:15:32 +02:00
orbitcowboy
6ad5a94acf
gnu.cfg: Improved configuration for memrchr().
2022-05-01 18:10:19 +02:00
orbitcowboy
6f6ddb99b2
std.cfg: Improved tests for memchr().
2022-05-01 18:09:54 +02:00
chrchr-github
e9a0d7979e
Fix #11014 FN redundantPointerOp / remove simplifyMulAndParens() ( #4062 )
2022-05-01 15:46:07 +02:00
orbitcowboy
e0ccfea027
gnu.cfg: Improved configuration of ffsl() and ffsll()
2022-05-01 15:29:35 +02:00
orbitcowboy
178efb7058
posix.cfg: Improved configuration for ffs().
2022-05-01 15:24:57 +02:00
orbitcowboy
cbcbff7d12
posix.cfg: Improved tests for readlink().
2022-05-01 14:17:49 +02:00
orbitcowboy
0e4a17e2ab
posix.cfg: Improved configuration of readlinkat().
2022-05-01 14:08:08 +02:00
orbitcowboy
5db6fc1f54
std.cfg: Improved configuration of localtime_s()
2022-05-01 12:47:13 +02:00
orbitcowboy
01a24d2ce0
posix.cfg: Improved configuration of recv().
2022-05-01 12:27:14 +02:00
orbitcowboy
d6af9da83d
posix.cfg: Improved configuration of recvfrom().
2022-05-01 12:24:15 +02:00
orbitcowboy
85f44d36dd
gnu.cfg: Added support for semtimedop().
2022-05-01 11:41:51 +02:00
orbitcowboy
63e58b9051
posix.cfg: Added support for semop().
2022-05-01 11:41:31 +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
4e7125554f
Fix 8358: FP: Condition '(number*0)!=0' is always false ( #4065 )
2022-04-30 09:35:51 +02:00
Paul Fultz II
9fa5c4e201
Fix 11011: FP returnDanglingLifetime with non-const reference argument [inconclusive] ( #4066 )
...
* Fix 11011: FP returnDanglingLifetime with non-const reference argument [inconclusive]
* Format
2022-04-30 08:23:58 +02:00
chrchr-github
6a914dc435
Add tests for # 10773, #108787 , #8991 ( #4063 )
...
* Add test for #10773
* Add test for #10878
* Add test for #8991
2022-04-30 08:20:00 +02:00
chrchr-github
e7afb3045b
Fix FP redundantPointerOp with macro ( #4061 )
...
* Fix #10991 FN: Redundant pointer operation
* Fix FP redundantPointerOp
* Check for LValue
* Fix FP redundantPointerOp with macro
* Format
2022-04-29 13:23:50 +02:00
chrchr-github
0467ab1339
Fix #7923 FN memleak with cfg ( #4060 )
2022-04-28 19:50:16 +02:00
chrchr-github
8dbe6994a2
Fix FP redundantPointerOp ( #4058 )
...
* Fix #10991 FN: Redundant pointer operation
* Fix FP redundantPointerOp
* Check for LValue
2022-04-28 15:25:31 +02:00
chrchr-github
3d3885d151
Add test for #9838 / Remove noisy assert ( #4059 )
...
* Add test for #9838
* Remove noisy assert
2022-04-28 15:24:54 +02:00
Paul Fultz II
aafd1e10be
Fix 11006: FP uninitvar with unknown constant ( #4056 )
2022-04-28 10:48:37 +02:00
chrchr-github
7cedf3e0e5
Partial fix for #10983 False positive: returnTempReference with trailing return type ( #4055 )
2022-04-27 20:11:32 +02:00
chrchr-github
034140e7e1
Fix #10991 FN: Redundant pointer operation ( #4054 )
2022-04-27 19:52:56 +02:00
chrchr-github
bcbc29affb
Fix #10526 FP: negativeIndex if function call is made after index check ( #4052 )
...
* Fix #10526 FP: negativeIndex if function call is made after index check
* Improve container check
* Format
2022-04-27 14:08:44 +02:00
chrchr-github
6df0f9b3e3
Add tests for #7377 , #8692 , #9180 ( #4053 )
2022-04-27 12:43:21 +02:00
orbitcowboy
6796f9daa2
std.cfg: Moved strdup() from posix.cfg to std.cfg since its now part of C23.
2022-04-27 12:41:40 +02:00
orbitcowboy
b2c3a9e9a3
posix.cfg: Improved configuration for send().
2022-04-27 10:41:57 +02:00
orbitcowboy
9726dc8174
posix.cfg: Improved support for sendto().
2022-04-27 10:35:43 +02:00
orbitcowboy
fa1182c0f1
bsd.cfg: Added support for setbuffer() and setlinebuf().
2022-04-27 10:22:38 +02:00
orbitcowboy
53ebb55e1f
std.cfg: Improved configuration of setvbuf().
2022-04-27 10:09:23 +02:00
orbitcowboy
561e21e2aa
std.cfg: Improved tests for setbuf().
2022-04-27 09:21:09 +02:00
orbitcowboy
fa351e010b
posix.cfg: Improved tests for socketpair()
2022-04-26 18:13:24 +02:00
orbitcowboy
17189e1d6e
std.cfg: Improved configuration of strftime().
2022-04-26 18:03:39 +02:00
Paul Fultz II
474c7fe5cc
Fix 10953: False positive: Possible null pointer dereference when calling derived function ( #4044 )
2022-04-26 17:57:06 +02:00
orbitcowboy
7d723a7a60
Merge branch 'main' of https://github.com/danmar/cppcheck into main
2022-04-26 17:51:24 +02:00
orbitcowboy
7e3ac96ebc
std.cfg: Improved tests of vswprintf().
2022-04-26 17:50:59 +02:00
chrchr-github
0dc3cb6eba
Fix #11007 FP nullPointerRedundantCheck with static function pointer ( #4051 )
2022-04-26 17:25:56 +02:00
orbitcowboy
0d35a60954
posix.cfg: Added support for drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48 and lcong48 - generate uniformly distributed pseudo-random numbers.
2022-04-26 17:24:39 +02:00
orbitcowboy
bfbc7e1549
posix.cfg: Added support for getlogin_r().
2022-04-26 10:04:15 +02:00
orbitcowboy
bd1104d786
posix.cfg: Added support for pread().
2022-04-26 09:37:08 +02:00
orbitcowboy
942375741b
posix.cfg: Added support for pwrite().
2022-04-26 09:26:39 +02:00
orbitcowboy
bb98ccf7d4
Ticket #9313 - Added a regression test
2022-04-26 07:45:08 +02:00
chrchr-github
6b5df68677
Fix #11001 syntaxError for valid C code sizeof(enum ...) ( #4045 )
2022-04-26 07:22:53 +02:00
chrchr-github
961ecfbe33
Fix #11003 cppcheckError with nested template arguments ( #4049 )
2022-04-25 22:23:06 +02:00
chrchr-github
1bc0317719
Fix #11002 FP uninitStructMember with extra parentheses ( #4047 )
2022-04-25 22:22:35 +02:00
chrchr-github
b4df064875
Fix #11004 FP AssignmentIntegerToAddress with volatile ( #4046 )
2022-04-25 22:00:37 +02:00
chrchr-github
81f9b9b2b7
Fix FP with ptr to ptr const ( #4050 )
2022-04-25 21:45:11 +02:00
orbitcowboy
d7063806d1
posix.cfg: Improved configuration for swab().
2022-04-25 18:34:31 +02:00
orbitcowboy
d1b6954dd8
std.cfg: Improved configuration for wcsrtombs().
2022-04-25 18:25:52 +02:00
orbitcowboy
31d0b0b73b
posix.cfg: Improved configuration for wcsnrtombs().
2022-04-25 15:54:44 +02:00
orbitcowboy
89ae22c0e1
posix.cfg: Improved configuration for wcsnrtombs().
2022-04-25 15:49:37 +02:00
orbitcowboy
dd2e218bb4
posix.cfg: Added some tests for ttyname_r().
2022-04-25 12:46:27 +02:00
orbitcowboy
d42bab47ae
posix.cfg: Added support for wcsnrtombs().
2022-04-25 12:26:02 +02:00
Paul Fultz II
6b9ac6f7a8
Warn when incrementing uninitialized value ( #4042 )
...
* Warn when incrementing uninitialized value
* Format
2022-04-24 09:56:58 +02:00
Paul Fultz II
5d5562266d
ValueFlow: Assume constant is nonzero when its negated ( #4041 )
...
* ValueFlow: Assume constant is nonzero when its negated
* Format
* Format
2022-04-23 06:19:07 +02:00
Paul Fultz II
4eed29502c
ValueFlow: Set values to parameters to longjmp and setjmp ( #4040 )
...
* ValueFlow: Set values to parameters to longjmp and setjmp
* Format
2022-04-23 06:18:55 +02:00
Paul Fultz II
4fa2e3ac87
Use default template in the cfg tests ( #4039 )
2022-04-23 06:18:44 +02:00
orbitcowboy
a75ecbca0e
std.cfg: Improved tests for wcsftime().
2022-04-22 08:29:20 +02:00
orbitcowboy
5d26d62698
posix.cfg: Added more test for wcpncpy().
2022-04-22 08:23:17 +02:00
orbitcowboy
097438f308
posix.cfg: utimes() is a wrapper for utime(), which is obsolescent. Set utimes() as obsolescent as well.
2022-04-22 08:18:21 +02:00
orbitcowboy
478aa6754b
posix.cfg: Added support for wcsncasecmp().
2022-04-22 08:07:20 +02:00
orbitcowboy
0560a946a8
std.cfg: Added more tests
2022-04-22 08:00:45 +02:00
orbitcowboy
051512dd48
bsd.cfg: Added support for pwritev(), preadv(), writev() and writev().
2022-04-22 07:41:03 +02:00
orbitcowboy
b315e8a115
std.cfg: Added more tests for wmemmove() and wmemset().
2022-04-22 07:25:27 +02:00
Oliver Stöneberg
fdca61add9
aligned build options of Visual Studio project configurations and added them to CMake ( #4020 )
2022-04-21 21:28:29 +02:00
orbitcowboy
1bf7b3b7dd
std.cfg: Added more tests for memcmp(), memcpy() and memmove().
2022-04-21 21:01:38 +02:00
Paul Fultz II
3feecc51d6
Fix 10988: FP: Regression, uninitvar ( #4037 )
2022-04-21 19:29:38 +02:00
orbitcowboy
ce35a6c975
std.cfg: Added more tests for strcat() and strcpy().
2022-04-21 16:59:25 +02:00
orbitcowboy
e683f3ce28
std.cfg: Added more test for strncpy().
2022-04-21 16:47:19 +02:00
orbitcowboy
7f48127c0b
std.cfg: Added more test for strncat().
2022-04-21 16:43:52 +02:00
orbitcowboy
a6f87e6b8a
std.cfg: Added more test for strcmp().
2022-04-21 16:13:48 +02:00
orbitcowboy
e06169cf8d
std.cfg: Added more test for strncmp() and wmemcmp().
2022-04-21 16:09:36 +02:00
Oliver Stöneberg
f53ad2391a
CMakeLists.txt: removed left-over Z3 code ( #4035 )
2022-04-21 12:54:16 +02:00
orbitcowboy
7c766a9696
gnu.cfg: Ensure a nullPointer warning is shown for invalid input to mempcpy() and wmempcpy().
2022-04-21 09:19:32 +02:00
orbitcowboy
c7ab35613e
posix.cfg: Cleanup test case.
2022-04-21 09:10:13 +02:00
orbitcowboy
49057543a1
std.cfg: Ensure a warning is issued for null pointer input for strlen().
2022-04-21 09:09:46 +02:00
orbitcowboy
3bd65d42cd
posix.cfg: Fixed bufferAccessOutOfBounds falsen negative for strnlen() and added a TODO for wcsnlen()
2022-04-21 09:02:02 +02:00
orbitcowboy
dad1a68e51
posix.cfg: Fixed FP bufferOverlap-warning of bcopy() and added more tests.
2022-04-21 08:31:22 +02:00
orbitcowboy
1fb1b22bae
posix.cfg: Improved configuration for bzero() and added tests.
2022-04-20 20:57:58 +02:00
orbitcowboy
fe1c1ddcc1
test/posix.c: Formatted code [ci skip].
2022-04-20 18:21:24 +02:00
orbitcowboy
d075cba535
posix.cfg: Ensure null pointer input is correctly handled for bcmp().
2022-04-20 18:18:38 +02:00
orbitcowboy
7cbdea9b81
posix.cfg: Ensure null pointer input is correctly handled for strcasecmp().
2022-04-20 18:15:54 +02:00
orbitcowboy
a8a821a9c7
posix.cfg: Ensure null pointer input is correctly handled for strncasecmp().
2022-04-20 18:13:49 +02:00
orbitcowboy
f3fc5892e1
posix.cfg: Ensure null pointer input is correctly handled for strsep().
2022-04-20 17:58:50 +02:00
orbitcowboy
c17d3a1022
posix.cfg: Ensure null pointer input is correctly handled for stpcpy().
2022-04-20 17:52:38 +02:00
orbitcowboy
1055b118a4
posix.cfg: Ensure null pointer input is correctly handled for gethostname().
2022-04-20 17:40:03 +02:00
orbitcowboy
d0ff2a022a
posix.cfg: Added support for wcwidth().
2022-04-20 17:32:26 +02:00
Oliver Stöneberg
4ddd7e562d
runtests.sh: refactoring and cleanups ( #4029 )
...
* runtests.sh: avoid redundant `pkg-config` checks and simplified the check
* runtests.sh: write a message when something is completely missing
* runtests.sh: derive paths from script location
* runtests.sh: improved readability by using individual functions for each file
* runtests.sh: added helper function `get_pkg_config_cflags()` to clean up cflag lookup from `pkg-config`
* runtests.sh: simplified `xmlstarlet` calls
2022-04-20 17:27:12 +02:00
orbitcowboy
8b90b2d0fd
posix.cfg: Added more tests.
2022-04-20 15:27:14 +02:00
orbitcowboy
1067cb6e5d
posix.cfg: Added support for wcswidth().
2022-04-20 15:23:46 +02:00
orbitcowboy
5be16c3113
std.cfg: Ensure null pointer input is correctly handled for fgets() and fgetws().
2022-04-20 08:50:45 +02:00
orbitcowboy
df84bed889
posix.cfg: Added support for more interfaces.
2022-04-20 07:45:38 +02:00
orbitcowboy
5a3d84d84d
posix.cfg: Added support for aio_read()
2022-04-20 07:27:28 +02:00
orbitcowboy
e0942c1bb4
std.cfg: Ensure warnings are issued for passing null pointer to bsearch().
2022-04-19 21:21:35 +02:00
orbitcowboy
b7bffaa1a7
Formatted code
2022-04-19 21:13:22 +02:00
orbitcowboy
f3907e4c9e
posix.cfg: Added support for aio_suspend().
2022-04-19 21:13:09 +02:00
orbitcowboy
24303bfdd3
wxwidgets.cfg: Fixed FPs due to wrong direction attribute set for wxString::ToDouble and wxString::ToCDouble().
2022-04-19 06:53:34 +02:00
orbitcowboy
6746da5e53
wxwidgets.cfg: Fixed some FPs for wxTextCtrl::GetSelection(), where the argument direction was wrongly set as input.
2022-04-18 15:41:50 +02:00
Oliver Stöneberg
8f728cb4b6
added (partial) support for specifying C++23 and support more "-std" options ( #3212 )
2022-04-15 16:17:36 +02:00
Paul Fultz II
28cf14f110
Fix 10975: false negative: dangling reference in class ( #4024 )
...
* Fix 10975: false negative: dangling reference in class
* Format
2022-04-14 18:59:12 +02:00
chrchr-github
6450d5701c
Fix #10979 FP arrayIndexOutOfBoundsCond with sizeof ( #4021 )
...
* Fix #10466 FP constVariable with pointer typedef
* Fix flag check
* Use isStatic()
* Fix #10979 FP arrayIndexOutOfBoundsCond with sizeof and extra parentheses
2022-04-14 18:13:29 +02:00
Paul Fultz II
6deb8068fa
Fix 10981: ValueFlow: multiplication with 0 should have known value 0 ( #4023 )
2022-04-14 18:13:04 +02:00
Paul Fultz II
09597bc7e8
Fix 10956: ValueFlow: Incorrect value when assigned to two variables ( #4019 )
...
* Fix 10956: ValueFlow: Incorrect value when assigned to two variables
* Format
2022-04-14 07:35:07 +02:00
chrchr-github
7721cd14b6
Fix #10466 FP constVariable with pointer typedef ( #4018 )
...
* Fix #10466 FP constVariable with pointer typedef
* Fix flag check
* Use isStatic()
2022-04-13 21:56:45 +02:00
chrchr-github
8203c74c40
Fix #9648 FP sizeofDivisionMemfunc ( #4017 )
...
* Fix #9648 FP sizeofDivisionMemfunc when result is multiplied again with sizeof later
* Format
2022-04-13 18:21:56 +02:00
chrchr-github
938517b80a
Fix #10265 FP unused private method ( #4015 )
2022-04-13 14:49:28 +02:00
chrchr-github
da1e2b22be
Add some tests ( #4014 )
...
* Test for #10454
* Test for #10493
* Test for #10069
* Test for #10228
* Fix test case
2022-04-13 12:25:53 +02:00
chrchr-github
f323e8a6c6
Fix #10311 FP functionConst ( #4012 )
...
* Fix #10311 FP functionConst
* Format
* Format
2022-04-13 12:25:36 +02:00
chrchr-github
55cb396d18
Fix #10494 Same template name confuses check ( #4011 )
2022-04-13 12:25:21 +02:00
chrchr-github
ea65fe2b63
Fix another FP divideSizeof ( #4009 )
...
* Fix FP divideSizeof
* Format
* Undo
* simpleMatch
* Fix another FP divideSizeof
2022-04-13 12:24:35 +02:00
Oliver Stöneberg
32978933b5
removed leftovers of generated cfg tests ( #4008 )
2022-04-13 12:24:17 +02:00
Oliver Stöneberg
45158ec064
cleaned up includes based on include-what-you-use ( #4007 )
...
* cleaned up includes based on include-what-you-use
* updated translations
2022-04-13 12:24:00 +02:00
chrchr-github
5ac4afa5b8
Fix cppcheckError with spaceship operator ( #10251 ) ( #4001 )
...
* Fix cppcheckError with starship operator (#10251 )
* Fix test case
* Return result
2022-04-13 12:23:38 +02:00
Paul Fultz II
6c82fb05a4
Fix 10954: False positive: returnDanglingLifetime when using c_str() ( #4006 )
2022-04-12 08:09:13 +02:00
Paul Fultz II
61b87bcc60
Fix 10955: False positive: containerOutOfBounds when using a const reference member ( #4005 )
2022-04-12 08:07:55 +02:00
chrchr-github
00badff622
Fix #10315 FP functionConst ( #3997 )
...
* Fix #10315 FP functionConst
* Update releasenotes.txt
2022-04-11 22:55:16 +02:00
chrchr-github
28a024ac4a
Fix #9954 incorrectLogicOperator/knownConditionTrueFalse for constexpr ( #4002 )
2022-04-11 20:42:54 +02:00
chrchr-github
bf6bcafc56
Fix FP divideSizeof ( #4003 )
2022-04-11 20:41:59 +02:00
Oliver Stöneberg
a98346bbe0
generate a program database in all Visual Studio configurations ( #3996 )
2022-04-11 11:28:07 +02:00
Daniel Marjamäki
8f386e15fd
Remove bug hunting. This feature will be provided in Cppcheck premium.
2022-04-11 07:31:33 +02:00
Paul Fultz II
99757c6d06
ValueFlow: Set values to parameters to escape functions ( #3994 )
...
* ValueFlow: Set values to parameters to escape functions
* Format
2022-04-11 07:23:58 +02:00
Paul Fultz II
d97942d3c6
Fix 6577: Detect pointer to uninitialised memory with clock_settime() ( #3993 )
...
* Fix 6577: Detect pointer to uninitialised memory with clock_settime()
* Format
2022-04-11 07:23:44 +02:00
Paul Fultz II
45b4580554
Fix 10957: Crash on valid code ( #3991 )
2022-04-10 22:47:58 +02:00
chrchr-github
bd9f5231b8
Fix #10179 FP divideSizeof with dereferenced pointer-to-pointer ( #3786 )
2022-04-10 22:47:27 +02:00
orbitcowboy
aa7a1f25c1
Added regression test from Ticket #3929:comment18
2022-04-10 08:10:11 +02:00
chrchr-github
c8936d04f6
Fix #3886 New Check : Return value of "new" ignored ( #3884 )
2022-04-09 19:06:32 +02:00
Oliver Stöneberg
25ef9eeb26
use std::string::empty() ( #3910 )
2022-04-09 19:02:37 +02:00
chrchr-github
0636018df3
Fix #10368 FP: unassignedVariable with structured binding ( #3990 )
2022-04-09 14:50:30 +02:00
chrchr-github
2bccde0e3b
Fix #9789 FP Logical condition considered always false ( #3985 )
2022-04-09 14:09:10 +02:00
chrchr-github
38bc0ad4c3
Fix regression: wrong member variable ( #3987 )
2022-04-08 08:23:10 +02:00
Paul Fultz II
d2a0b0f78e
Fix 10951: FP knownEmptyContainer with east-const ( #3988 )
...
* Fix 10951: FP knownEmptyContainer with east-const
* Format
* Use simpleMatch
2022-04-08 08:22:39 +02:00
chrchr-github
ceb86afc22
Fix #10952 FP constStatement with cast in return ( #3986 )
2022-04-07 14:11:14 +02:00
Paul Fultz II
4c1aeb0cb1
Remove old pointer alias check ( #3983 )
2022-04-07 11:36:15 +02:00
chrchr-github
52b4aeb279
Fix #10792 FP knownConditionTrueFalse with double to int cast ( #3964 )
2022-04-07 10:42:57 +02:00
Paul Fultz II
dad10f2ab7
Fix 7684: ValueFlow: function call 'X::GetSize()' ( #3984 )
...
* Improve getting function to calculate the return
* Add test
* Format
* Move to cpp to avoid FP
* Format
2022-04-07 06:49:25 +02:00
Paul Fultz II
8986cf018f
Fix todo test that was using wrong function ( #3982 )
...
* Fix todo test that was using wrong function
* Format
2022-04-07 06:48:51 +02:00
Paul Fultz II
74667d1e2a
Fix 10418: false negative: knownConditionTrueFalse ( #3981 )
...
* Improve handling inverted condition
* Fix tests
* Rename variables for clarity
* Add initial test
* Add another test
* Format
* Fix FP
2022-04-07 06:48:13 +02:00
Paul Fultz II
09c8cfb2ae
Fix 6624: false negative: std::vector out of bounds access not detected ( #3980 )
...
* Fix 6624: false negative: std::vector out of bounds access not detected
* Format
* Add test for auto
* Fix tests
* Format
2022-04-07 06:47:15 +02:00
Paul Fultz II
bb640c4879
Fix 10950: Crash on function declaration ( #3979 )
...
* Fix 10950: Crash on function declaration
* Format
2022-04-06 19:00:05 +02:00
chrchr-github
b73aeeda0e
Fix FP constStatement with comma operator ( #3978 )
...
* Fix FP constStatement with comma operator
* Format
2022-04-06 16:58:17 +02:00
orbitcowboy
64a7ba3c4c
Added regression test for #8332 .
2022-04-06 08:12:41 +02:00
Paul Fultz II
4fde7f8b18
Fix 10449: Regression: knownConditionTrueFalse (strlen/wcslen) ( #3977 )
...
* Refactor library function usage
* Evaluate library function in program memory
* Fix and add tests
* Format
2022-04-06 06:35:38 +02:00
Paul Fultz II
1d92665ad2
Fix 10867: false negative: containerOutOfBounds with std::array (regression) ( #3976 )
...
* Fix 10867: false negative: containerOutOfBounds with std::array (regression)
* Format
2022-04-06 06:25:28 +02:00
chrchr-github
4c375e7224
Fix #9815 FP redundantInitialization with lambda / #10864 debug: valueFlowConditionExpressions bailout ( #3970 )
...
* Fix #9815 FP redundantInitialization with lambda
* Fix #10864 debug: valueFlowConditionExpressions bailout
* Format
2022-04-05 23:19:17 +02:00
chrchr-github
f5313dc519
Fix crash with defaulted destructor ( #3975 )
2022-04-05 23:18:08 +02:00
chrchr-github
c4dcfef385
Fix #10260 debug: Executable scope 'x' with unknown function. ( #3974 )
...
* Fix #10174 debug: Executable scope 'x' with unknown function
* Format
* Add test for #10198
* Fix #10260 debug: Executable scope 'x' with unknown function.
2022-04-05 15:52:16 +02:00
chrchr-github
3ba6914563
Add test for #10198 ( #3973 )
...
* Fix #10174 debug: Executable scope 'x' with unknown function
* Format
* Add test for #10198
2022-04-05 13:04:20 +02:00
chrchr-github
cfbbeb4b1b
Partial fix for #10867 FN containerOutOfBounds with std::array ( #3971 )
...
* Partial fix for #10867 FN containerOutOfBounds with std::array
* Format
* Format
* Optimize
2022-04-05 07:34:20 +02:00
chrchr-github
b79885c6af
Fix #10174 debug: Executable scope 'x' with unknown function ( #3972 )
...
* Fix #10174 debug: Executable scope 'x' with unknown function
* Format
2022-04-05 07:34:06 +02:00
chrchr-github
aae810dd2c
Fix #10107 FP: duplicateValueTenary ( #3969 )
2022-04-04 06:33:54 +02:00
chrchr-github
955d6d8fc6
Fix #10793 internalAstError with brace-init in ternary ( #3966 )
...
* Fix #10793 internalAstError with brace-init in ternary
* Undo
2022-04-03 20:05:03 +02:00
Paul Fultz II
39265f8ce0
Fix 10931: Assert failure in setSymbolic() ( #3967 )
...
* Fix 10931: Assert failure in setSymbolic()
* Format
2022-04-03 20:04:18 +02:00
Paul Fultz II
0547cbcd26
Fix 10647: FN knownConditionTrueFalse for impossible Boolean value ( #3968 )
...
* Add impossible values for bool
* Fix valueflow tests
* Fix assertion failure
* Add test
* Format
2022-04-03 20:04:05 +02:00
chrchr-github
7a7b3e40eb
Fix regression FN constVariable with static arrays ( #3965 )
...
* Fix regression FN constVariable with static arrays
* Fix test case
2022-04-02 20:39:45 +02:00
chrchr-github
a9f29fbc09
Fix #10307 FP functionStatic with class template and east-const / #10471 FP constParameter with std::array and east-const ( #3963 )
2022-04-01 23:26:44 +02:00
chrchr-github
4bf8718dcb
Fix #10849 FP constStatement with pointers in lambda ( #3961 )
2022-04-01 19:50:40 +02:00
Paul Fultz II
5bea50cd36
Fix 10908: FP: uninitvar after for-loop ( #3942 )
2022-03-31 21:24:20 +02:00
chrchr-github
183969cd4b
Fix #10936 FP constStatement with extern declaration ( #3960 )
2022-03-31 21:08:04 +02:00
chrchr-github
c85e7e7d2f
Fix FP constStatement with more complex expression ( #3959 )
2022-03-30 22:00:57 +02:00
Jens Yllman
34a11c1673
Fix unmatched suppression ( #5704 ) ( #3886 )
2022-03-30 19:24:53 +02:00
chrchr-github
343a23135d
Fix #10932 FP constStatement with reference and direct initialization ( #3952 )
2022-03-30 19:22:01 +02:00
chrchr-github
47ba053054
Fix #10744 FP constVariable with static pointer ( #3957 )
2022-03-30 19:21:09 +02:00
chrchr-github
948bb8df94
Add test for #10089 , #10280 ( #3958 )
2022-03-30 15:49:45 +02:00
chrchr-github
86ff360946
Fix #10917 FP constStatement with immediately evaluated lambda ( #3956 )
2022-03-29 06:10:57 +02:00
chrchr-github
81bcbfa7fe
Fix #10920 FP missingOverride with friend ( #3955 )
2022-03-28 22:44:04 +02:00
chrchr-github
49147f95fe
Fix #10918 FP constStatement with dynamic_cast ( #3954 )
2022-03-28 22:15:40 +02:00
chrchr-github
8d49fc252c
Fix FP constStatement ',' with Eigen, OpenCV etc. ( #3950 )
2022-03-28 22:06:44 +02:00
chrchr-github
11cbb2eb00
Fix AST cyclic dependency [cppcheckError] 3 ( #3953 )
2022-03-28 22:05:41 +02:00
chrchr-github
d57d536f01
Fix #10882 FP constStatement with negation and cast ( #3951 )
2022-03-28 21:52:08 +02:00
chrchr-github
7b97230dd2
Fix #10505 FP unreadVariable for lock_guard variable ( #3938 )
2022-03-28 21:45:49 +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
21b8c36eb1
Fix 10916: FP: uninitvar ( #3949 )
2022-03-27 10:01:58 +02:00
chrchr-github
63d96e49fc
Fix #10928 , #10930 FP constStatement ( #3946 )
...
* Fix #10928 , #10930 FP constStatement
* Fix test cases (first one did not compile)
2022-03-27 07:59:29 +02:00
chrchr-github
401f0de18b
Fix #10929 FP constStatement with new ( #3947 )
2022-03-27 07:59:19 +02:00
chrchr-github
1dd19dcaef
Fix AST cyclic dependency [cppcheckError] ( #3945 )
2022-03-26 22:39:14 +01:00
chrchr-github
5ed521622f
Fix #10923 FP constStatement with ptr to ptr to ptr ( #3944 )
...
* Fix #10923 FP constStatement with ptr to ptr to ptr
* simpleMatch
2022-03-26 06:12:26 +01:00
amai2012
a143fa37dd
use-retval for localtime() ( #3935 )
...
* use-retval for localtime()
* Adjust test to avoid new warning
2022-03-25 17:32:54 +01:00
chrchr-github
fe7d0eeffc
Fix #10919 FP: constStatement with template type ( #3941 )
2022-03-25 17:03:54 +01:00
orbitcowboy
8d7fe702e0
Ticket #9104 - Adde a regression test
2022-03-25 17:01:57 +01:00
chrchr-github
12cb19bdf2
Fix AST cyclic dependency [cppcheckError] ( #3940 )
2022-03-25 14:03:32 +01:00
chrchr-github
e54ad24d2c
Fix #10870 FN constStatement with arrays ( #3904 )
2022-03-25 11:32:16 +01:00
chrchr-github
796ad6c008
Fix #10913 FP variableScope - vector referenced via iterator ( #3936 )
2022-03-25 09:21:17 +01:00
Daniel Marjamäki
212ac6c214
compile_commands.json: ensure that order of include paths are kept
2022-03-24 22:50:04 +01:00
chrchr-github
3630e9c49d
Fix #10874 FP constStatement with extra parentheses in declaration ( #3931 )
2022-03-24 22:07:21 +01:00
chrchr-github
479af21405
Fix #10698 FP uninitvar with new and braced initializer ( #3934 )
2022-03-24 20:08:51 +01:00
Paul Fultz II
4b4037540a
valueFlowUninit: Handle arrays and pod types ( #3917 )
...
* valueFlowUninit: Handle arrays and pod types
* Format
* Catch another array case
2022-03-24 06:35:44 +01:00
Daniel Marjamäki
3bcbba598d
Fixed #10887 (compile database: include path with space is not handled)
2022-03-23 21:13:51 +01:00
chrchr-github
0d2af9a5b7
Fix #10880 FP constStatement with init list in function call ( #3929 )
2022-03-23 18:10:33 +01:00
orbitcowboy
d376201cb4
gnu.cfg: Added support for getpw(). Ref.: https://man7.org/linux/man-pages/man3/getpw.3.html
2022-03-23 17:14:26 +01:00
chrchr-github
e0830693c3
Fix FP uninitMemberVarPrivate with anonymous union ( #3927 )
2022-03-23 07:35:41 +01:00
chrchr-github
39567ea8c8
Fix #8541 FP variableScope (std::for_each with lambda) ( #3924 )
2022-03-22 21:50:46 +01:00
chrchr-github
40c2687ac4
Fix #10875 FP constStatement with delete ( #3926 )
2022-03-22 18:39:02 +01:00
chrchr-github
3faff5e9fc
Fix #10248 FP knownConditionTrueFalse static variable with direct initialization ( #3922 )
2022-03-22 07:24:40 +01:00
chrchr-github
18a7a805df
Fix #10502 FP doubleFree ( #3921 )
2022-03-21 22:17:50 +01:00
Daniel Marjamäki
1fe7cd348a
exename: Set proper exename when cppcheck is executed from PATH and argv[0] does not contain path information
2022-03-21 18:35:53 +01:00
chrchr-github
0e147502cc
Fix #10888 FN variableScope with enum and struct ( #3920 )
...
* Fix #10888 FN variableScope with enum and struct
* Scope reduction
* Scope reduction
2022-03-21 16:05:38 +01:00
chrchr-github
2baf8f6cd4
Fix FP virtualCallInConstructor with function pointer ( #3913 )
2022-03-19 20:00:06 +01:00
chrchr-github
297b0b5c60
Fix #10886 FP: Label 'enum' is not used. [unusedLabel] ( #3912 )
2022-03-17 17:38:23 +01:00
chrchr-github
97ce569859
Fix #10873 FP constStatement with extra parentheses in function call ( #3911 )
...
* Fix #10873 FP constStatement with extra parentheses in function call
* Format
2022-03-17 12:47:27 +01:00
chrchr-github
e073860e62
Fix #10841 FN uninitMemberVar when member is being used in constructor (regression) ( #3909 )
2022-03-16 20:35:55 +01:00
Paul Fultz II
40ff9edad6
Fix 10843: FP: danglingTemporaryLifetime ( #3908 )
...
* Fix 10843: FP: danglingTemporaryLifetime
* Format
2022-03-16 17:11:49 +01:00
chrchr-github
fb1170b10b
Fix #10872 FP constStatement with variable called std ( #3906 )
2022-03-16 15:29:34 +01:00
chrchr-github
b8ba0ae00e
Fix #10877 FP constStatement with ternary and comma operator ( #3905 )
2022-03-16 15:28:59 +01:00
Georgi D. Sotirov
33315b0ae5
Replace tinyxml2_LIBRARY with tinyxml2_LIBRARIES ( #3897 )
2022-03-15 21:17:03 +01:00
chrchr-github
1aff160411
Fix #9303 FP uninitvar after lambda expression ( #3903 )
...
* Fix #9303 FP uninitvar after lambda expression
* Format
2022-03-15 14:32:33 +01:00
chrchr-github
f90a93591f
Add tests for #9871 , #10144 ( #3902 )
...
* Add test for #9871
* Add test for #10144
* Format
2022-03-15 12:54:19 +01:00
chrchr-github
200b098471
Fix #10516 FP for unused private function if address of function is taken ( #3901 )
2022-03-14 19:15:48 +01:00
chrchr-github
6376bac5bb
Fix #10451 syntaxError with typedef and lambda ( #3900 )
...
* Fix #10451 syntaxError with typedef and lambda
* Don't insert union into template argument list, add test
* Format
* Revert "Format"
This reverts commit 8c52d49c8b
.
* Format
2022-03-14 17:59:29 +01:00
chrchr-github
d3d40fd599
Fix #10868/#10869 FN: constStatement, handle unused character constants ( #3898 )
...
* Fix #10868 FN: constStatement, handle unused character constants
* simpleMatch
* Fix #10869 FN: constStatement
* Format
2022-03-14 14:14:32 +01:00
chrchr-github
2eed660b32
Fix #8496 Clarify warnings for uninitMemberVar ( #3760 )
2022-03-13 17:33:31 +01:00
chrchr-github
190506db40
Fix #10737 Regression: unusedStructMember ( #3894 )
...
* Fix #10737 Regression: unusedStructMember
* Add test for #9161
* simpleMatch
2022-03-13 06:27:17 +01:00
chrchr-github
c3506b5186
Fix #10691 regressions with static variables and multiple assignments ( #3895 )
...
* Fix regressions with static variables and multiple assignments
* Fix test
* Fix test cases
2022-03-13 06:26:21 +01:00
chrchr-github
3df170c191
Fix #10865 FN: constStatementError, streamline error messages ( #3892 )
2022-03-12 14:52:18 +01:00
chrchr-github
d1f740a289
Partial fix for #9384 varid 0 with lambda (II) ( #3889 )
...
* Partial fix for #9384 varid 0 with lamba
* Format
* Undo
* Undo
* Partial fix for #9384 varid 0 with lambda (II)
2022-03-12 06:17:37 +01:00
chrchr-github
4c85ac0d7b
Fix #10852 FP unused struct member (inner struct in C code) ( #3890 )
...
* Fix #10852 FP unused struct member (inner struct in C code)
* Redundant findType() call, add test
2022-03-12 06:16:29 +01:00
Paul Fultz II
ff902369e0
Fix 10851: False positive: known variable value below for loop ( #3891 )
...
* Fix 10851: False positive: known variable value below for loop
* Format
* Add test for 10863
* Format
2022-03-12 06:15:35 +01:00
chrchr-github
705931266c
constStatementError: don't warn for casts with possible side effects,… ( #3885 )
...
* constStatementError: don't warn for casts with possible side effects, handle bool constants
* Recursive call, add tests
* Restore test
* Don't warn for C++ casts to void
* Don't warn for cast to void*
2022-03-11 21:45:51 +01:00
chrchr-github
ffd9f9a93f
Fix FP missingOverride with unnamed parameters ( #3887 )
2022-03-11 21:44:13 +01:00
Binho
8b3647edd7
Fix false positive in memory leak
2022-03-10 08:29:05 +01:00
chrchr-github
2616046461
Partial fix for #10848 FP: unusedStructMember ( #3880 )
2022-03-09 20:25:58 +01:00
chrchr-github
557263acde
Partial fix for #10848 FP: unusedStructMember (II) ( #3881 )
...
* Preliminary
* Fix member search, add tests
2022-03-09 18:22:30 +01:00
chrchr-github
850ad0fed9
#8451 : Add error message for unused casts, log unhandled errors ( #3883 )
...
* #8451 : Add error message for unused casts, log unhandled errors
* Fix TODO
* Fix TODO
2022-03-09 18:21:47 +01:00
chrchr-github
c9f47dec8b
Partial fix for #9384 varid 0 with lambda ( #3875 )
2022-03-08 20:10:51 +01:00
chrchr-github
fbdfb60809
Warn about buffer overruns when allocating memory with new ( #3879 )
...
* Warn about buffer overruns when allocating memory with new
* Format
* Avoid FP
2022-03-07 19:43:40 +01:00
chrchr-github
25360d5e4c
Add test for #7686 ( #3878 )
...
* Add test for #7686
* Format
2022-03-07 15:32:14 +01:00
chrchr-github
461d797094
Add test for #10835 ( #3877 )
2022-03-07 10:44:46 +01:00
orbitcowboy
1d2beb0431
Added a regression test for ticket 6928 - Improve check: unused variables, goto
2022-03-07 10:12:57 +01:00
chrchr-github
3a5931b417
Fix #5499 C++11 default values not for all class fields and missing constructor ( #3876 )
2022-03-07 08:39:19 +01:00
chrchr-github
7f682d544e
Partial fix for #6615 FN buffer access out of bounds: std::vector ( #3873 )
...
* Fix #10779 FN: stlOutOfBounds (off by one)
* Format
* Simplify
* Partial fix for #6615 FN buffer access out of bounds: std::vector
* Undo
* Format
* Fix test case
2022-03-06 07:41:09 +01:00
chrchr-github
0b0a8cad39
Fix #10846 FP unreadVariable within a macro (regression) ( #3874 )
...
* Fix #10846 FP unreadVariable within a macro (regression)
* Format
* Format
2022-03-05 08:14:57 +01:00
chrchr-github
27baa20f38
Fix #10779 FN: stlOutOfBounds (off by one) ( #3872 )
...
* Fix #10779 FN: stlOutOfBounds (off by one)
* Format
* Simplify
2022-03-04 17:13:13 +01:00
chrchr-github
2dd6c75b35
Fix #10838 Crash/nullptr deref in getEndOfExprScope() ( #3870 )
...
* Fix #10838 Crash/nullptr deref in getEndOfExprScope()
* Format
2022-03-03 17:08:23 +01:00
chrchr-github
78dd29ada3
Fix #10770 FP noConstructor with function pointer member ( #3751 )
2022-03-03 13:56:24 +01:00
chrchr-github
8a7992c6ac
Suppress operatorEqVarError for known non-copyable types ( #3869 )
...
* Fix FP operatorEqVarError with class hierarchy
* Suppress operatorEqVarError for std::mutex
* Add test, non-copyable Qt types
* Update cppcheck-cfg.rng
2022-03-03 09:41:26 +01:00
Daniel Marjamäki
915ae4b845
ValueFlow: Fix crash
2022-03-02 21:12:37 +01:00
chrchr-github
9c50136571
Fix #10824 FN unreadVariable for pointer assignment when destructor exists (regression) ( #3864 )
...
* Fix #10824 FN unreadVariable for pointer assignment when destructor exists (regression)
* unused variable
* Issue warning for missing cfg
* Format
2022-03-02 11:11:44 +01:00
Oliver Stöneberg
de728f472c
removed ThreadExecutor::addFileContent() ( #3865 )
2022-03-02 11:10:29 +01:00
Oliver Stöneberg
4a63af02ed
enabled functionConst and functionStatic in selfcheck ( #3862 )
...
* fixed functionConst findings and enabled it in selfcheck
* fixed functionStatic findings and enabled it in selfcheck
* .travis_suppressions: adjusted comment
* testimportproject.cpp: added missing asserts
2022-03-02 07:46:47 +01:00
chrchr-github
8e8e6b1170
Fix FP operatorEqVarError with class hierarchy ( #3868 )
2022-03-02 07:46:23 +01:00
chrchr-github
01de8256ea
Fix #10798 cppcheckError with enum class and typedefs ( #3867 )
...
* Fix #10798 cppcheckError with enum class and typedefs
* Format
* Format
* Leave enum class scope
* Remove comment
2022-03-02 07:46:15 +01:00
chrchr-github
43fb3dd047
Fix regression: wrong varid with using namespace ( #3866 )
...
* Fix #10059 missing varId with using namespace
* Undo
* Fix test
* Limit namespace candidates, duplicateBranch
* rvalue ref
* Undo
* Undo
* Undo
* Format
* Fix condition
* Fix regression: wrong varid with using namespace
2022-03-02 07:46:04 +01: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
chrchr-github
6a8bd981b5
Fix #10825 CheckClass::isMemberVar found used member variable with varid 0 ( #3863 )
...
* Fix #10825 CheckClass::isMemberVar found used member variable with varid 0
* Restore call to simpleMatch()
2022-02-28 18:28:23 +01:00
chrchr-github
05a6d09c5f
Fix #10360 FP uninitMemberVar from copy constructor [inconclusive] ( #3748 )
2022-02-27 19:15:19 +01:00
chrchr-github
ddb0a8bb0b
Fix #10059 missing varId with using namespace ( #3860 )
...
* Fix #10059 missing varId with using namespace
* Undo
* Fix test
* Limit namespace candidates, duplicateBranch
* rvalue ref
* Undo
* Undo
* Undo
* Format
* Fix condition
2022-02-27 09:03:24 +01:00
chrchr-github
d79d6e60db
Fix #10828 Internal error. Token::Match called with varid 0 ( #3859 )
...
* Fix #10828 Internal error. Token::Match called with varid 0
* Fix test
2022-02-26 23:48:29 +01:00
chrchr-github
441b437cea
Fix #10826 FN: unusedStructMember ( #3858 )
2022-02-26 18:53:00 +01:00
Paul Fultz II
dbc80787e1
Fix 10821: FN: containerOutOfBounds ( #3856 )
...
* Fix 10821: FN: containerOutOfBounds
* Format
* Fix cppcheck warning
* Add valueflow tests
* Format
* Fix some bugs
* Format
2022-02-25 05:53:51 +01:00
chrchr-github
f53793c413
Fix #10823 FP cstyleCast with function pointer and calling convention ( #3853 )
2022-02-23 09:12:14 +01:00
Oliver Stöneberg
51371f7929
added CMake option USE_THREADS to be able to use threads instead of fork() / cleanups ( #3852 )
2022-02-23 09:04:35 +01:00
chrchr-github
172aafdeb8
Fix #7908 FN: redundant assignment in loop ( #3650 )
2022-02-22 09:51:44 +01:00
Paul Fultz II
1ac16413ea
Another fix for 10800: Hang / memory exhaustion on numerical code ( #3851 )
...
* Another fix for 10800: Hang / memory exhaustion on numerical code
* Format
2022-02-22 07:21:26 +01:00
Paul Fultz II
72d0f3e444
Fix 10808: cppcheckError AST cyclic dependency with decltype ( #3850 )
...
* Fix 10808: cppcheckError AST cyclic dependency with decltype
* Format
2022-02-22 06:30:17 +01:00
chrchr-github
734e3ac6da
Fix cppcheckError with for loop ( #3847 )
2022-02-21 18:14:20 +01:00
chrchr-github
bedde0a1df
Fix #10391 bug hunting; crash for small C-code ( #3846 )
2022-02-21 18:09:46 +01:00
chrchr-github
d77fa64051
Fix #10256 Function::addArguments found argument 'x' with varid 0 ( #3845 )
2022-02-21 18:06:26 +01:00
chrchr-github
5574e41b86
Fix #10065 CheckClass::isMemberVar found used member variable with varid 0 ( #3843 )
2022-02-20 18:17:47 +01:00
chrchr-github
18e00bb4fd
Fix #10817 Crash in checkPassByReference() / #10810 Stack overflow with decltype / #10763 Crash on invalid code ( #3840 )
...
* Fix #10817 Crash in checkPassByReference()
* Format
* Fix #10810 Stack overflow with decltype
* Fix #10763 Crash on invalid code in TemplateSimplifier::templateParameters
2022-02-18 12:59:21 +01:00
chrchr-github
6635e6cc07
Fix #10795 cppcheckError with for loop ( #3841 )
2022-02-17 22:12:19 +01:00
chrchr-github
2f46e57311
Add leak-ignore for fopen_s(), test cases ( #3839 )
...
* Add leak-ignore for fopen_s(), test cases
* Format
2022-02-17 16:22:30 +01:00
chrchr-github
a1adbff683
Fix #1733 FN Memory leak not detected when variable is 'used' by allocation function in condition ( #3838 )
2022-02-16 21:31:24 +01:00
chrchr-github
b07814f329
Fix #3462 FN missed class members in copy operator of derived class ( #3837 )
2022-02-16 21:30:19 +01:00
chrchr-github
6488cb6e76
Add test for #7433 ( #3836 )
2022-02-16 16:43:06 +01:00
Daniel Marjamäki
c968aeaf73
Import project: do not crash when importing compile database generated by IAR workbench
2022-02-16 08:35:47 +01:00
chrchr-github
9582032906
Fix #8485 FP uninitMemberVar - ctor calls function with smart pointer argument ( #3835 )
2022-02-16 07:02:26 +01:00
chrchr-github
52f549fa87
Fix crash on garbage code ( #3834 )
2022-02-15 20:19:03 +01:00
chrchr-github
907218254e
#8126 Fix previous commit ( #3833 )
...
* Fix #8126 unsafeClassCanLeak missing for array of pointers
* #8126 Fix previous commit
* Format
* Format
2022-02-15 20:03:02 +01:00
chrchr-github
e7e2439347
Fix #8126 unsafeClassCanLeak missing for array of pointers ( #3832 )
2022-02-15 14:28:19 +01:00
chrchr-github
a5674182bb
Add test for #5473 ( #3831 )
2022-02-15 12:52:10 +01:00
orbitcowboy
d131235a53
test windows.cfg: Added regression test for _wtoi_l and _atoi_l.
2022-02-15 11:37:10 +01:00
Daniel Marjamäki
f2420509c9
Revert "constPointer: Fix false positives when pointer is not read"
...
This reverts commit 6427b4888b
.
If variable/parameter is unused it is better to warn about that.
2022-02-13 08:40:45 +01:00
Daniel Marjamäki
6427b4888b
constPointer: Fix false positives when pointer is not read
2022-02-12 22:23:25 +01:00
chrchr-github
0a99e3b6fc
Partial fix for #9407 FN redundant assignment/unreadVariable ( #3651 )
2022-02-12 15:32:08 +01:00
Daniel Marjamäki
30cec97cc8
Tokenizer: Support C++20 default bit-field member initializer
2022-02-12 12:19:08 +01:00
chrchr-github
edc5106237
Fix #9092 FN missingOverride - subclass in namespace ( #3793 )
2022-02-12 08:19:07 +01:00
chrchr-github
c5ab936088
Fix #10405 FN shadowVariable in range-based for loop ( #3789 )
2022-02-12 08:10:53 +01:00
Rikard Falkeborn
d4cd249c21
10671 fix const iterator function const take two ( #3802 )
...
* Revert "Revert "Fix #10671 : functionConst FN with begin/end and const_iterator (#3749 )""
This reverts commit 9f6a36c1a8
.
* Fix crash by adding missing null check
2022-02-11 21:23:23 +01:00
chrchr-github
5f3ddabd56
Fix FP constParameter with std::map ( #3823 )
2022-02-11 19:40:11 +01:00
Paul Fultz II
78228599da
Fix 10800: Hang / memory exhaustion on numerical code ( #3822 )
...
* Fix 10800: Hang / memory exhaustion on numerical code
* Format
* Add another test
* Format
2022-02-11 06:52:28 +01:00
Oliver Stöneberg
f32583e097
removed OVERRIDE and FINAL defines and use the keywords directly ( #3767 )
2022-02-10 23:02:24 +01:00
Julien Marrec
2535bf984b
Allow passing std::string_view by value ( #3817 )
2022-02-10 21:01:12 +01:00
chrchr-github
cd7532df21
Fix #7709 FN C-style pointer casting with built-in or typedef types /… ( #3814 )
2022-02-10 20:48:51 +01:00
Paul Fultz II
5d25050b06
Fix 10788: False positive: zerodivcond when using an assert ( #3816 )
2022-02-10 20:22:14 +01:00
chrchr-github
ddd84f9b98
Add tests/TODO for #7950 , #9974 ( #3818 )
...
* Add tests/TODO for #7950 , #9974
* Comment
2022-02-10 20:05:14 +01:00
orbitcowboy
65c0ef8eb0
Added a regression test for ticket #6832 .
2022-02-10 14:13:50 +01:00
chrchr-github
24e9859158
Fix #10357 FP stlcstrParam due to incorrect overload resolution ( #3813 )
...
* Fix #10357 FP stlcstrParam due to incorrect overload resolution
* Variable shadowing
2022-02-10 11:17:06 +01:00
Paul Fultz II
a50452517d
Fix 10794: Crash in MultiValueFlowAnalyzer::getProgramState() ( #3815 )
...
* Fix 10794: Crash in MultiValueFlowAnalyzer::getProgramState()
* Format
2022-02-10 07:43:27 +01:00
orbitcowboy
09da69b1c7
posix.cfg: Added support for 'llseek()', which is obsolescent since glibc version 2.28
2022-02-09 08:34:35 +01:00
chrchr-github
2c7948102a
Fix #10145 FP AssignmentAddressToInteger with enum class ( #3810 )
2022-02-08 16:12:35 +01:00
chrchr-github
e64ea20089
Fix #10527 FP variableScope for if with init-statement ( #3811 )
2022-02-08 16:12:09 +01:00
chrchr-github
966dbb1990
Windows.cfg: add UNREFERENCED_PARAMETER() macro ( #3809 )
2022-02-08 11:50:28 +01:00
Paul Fultz II
20a5224d7e
Fix 10784: False positive: returnDanglingLifetime using std::tie with variadic template parameters ( #3805 )
2022-02-08 09:03:51 +01:00
Paul Fultz II
260d155bb6
Fix 10785: False positive: constParameter when using member pointer ( #3807 )
2022-02-07 18:45:32 +01:00
orbitcowboy
c983151b9c
posix.cfg: Added support for lseek64().
2022-02-07 14:15:48 +01:00
orbitcowboy
bd1d8ea7b8
posix.cfg: Improved configuration of lseek().
2022-02-07 13:58:38 +01:00
orbitcowboy
2dea968ec5
windows.cfg: Improved configuration of _fseeki64()
2022-02-07 09:12:31 +01:00
orbitcowboy
a7b7b46d76
posix.cfg: Improved configuration of fseeko()/fseeko64().
2022-02-07 09:03:39 +01:00
orbitcowboy
2f17147900
std.cfg: Improved configuration for fseek(). The 3rd argument is not allowed to be of Boolean type.
2022-02-07 09:02:24 +01:00
Paul Fultz II
569332a50a
Fix 10786: False positive: arrayIndexOutOfBoundsCond ( #3803 )
2022-02-06 20:14:13 +01:00
Paul Fultz II
a639c59780
Fix 10787: False positive: knownConditionTrueFalse with a conditional exit ( #3804 )
2022-02-06 20:13:44 +01:00
orbitcowboy
fa776051e9
Fixed Ticket 1001 - std.cfg: Invalid parameters for fseek()
2022-02-06 16:05:14 +01:00
Oliver Stöneberg
974dd5d49f
only use bundled tinyxml2 in CMake when configured to do so ( #3806 )
2022-02-06 13:02:52 +01:00
Daniel Marjamäki
3989408738
Update copyright year
2022-02-05 11:45:17 +01:00
chrchr-github
7f28edbe26
Fix #10789 Crash in CheckMemoryLeakInClass ( #3797 )
2022-02-04 19:32:23 +01:00
orbitcowboy
31ea13eb0c
test std.cfg: Fixed wrong npos constant.
2022-02-04 12:39:43 +01:00
orbitcowboy
7062b0a973
std.cfg: Improved configuration of std::[w]string::substr(). Do not allow negative length arguments.
2022-02-04 12:30:37 +01:00
chrchr-github
17b538210d
Fix #10151 FP eraseDereference when returning iterator from loop ( #3787 )
2022-02-03 21:13:48 +01:00
Daniel Marjamäki
9f6a36c1a8
Revert "Fix #10671 : functionConst FN with begin/end and const_iterator ( #3749 )"
...
This reverts commit 2cacb13f85
.
2022-02-03 11:04:02 +01:00
chrchr-github
a20465eaea
Fix #10484 FP knownConditionTrueFalse with static variable and direct initialization / partial fix for #10248 ( #3728 )
2022-02-02 22:30:49 +01:00
chrchr-github
511520d623
Fix #10679 FP constParameter with const/nonconst overload ( #3780 )
2022-02-02 19:38:32 +01:00
Rikard Falkeborn
2cacb13f85
Fix #10671 : functionConst FN with begin/end and const_iterator ( #3749 )
...
Check if the iterator is assigned to a const_iterator or
const_revese_iterator, in which case it is possible the function can be
const. Unfortunately, it is not possible to remove the hard coding of
cbegin, cend, crbegin and crend due to the need to handle auto, as in
the following code snippet:
void cbegin_auto(void)
{
for (auto it = m_str.cbegin(); it != m_str.cend(); ++it) {;}
}
2022-02-02 19:37:06 +01:00
chrchr-github
dad64bfcc8
Fix #10091 FP shadowFunction with default destructor implementation / Tests for #8635 , #9776 , #9940 , #9951 , #10018 ( #3763 )
2022-02-02 19:30:49 +01:00
chrchr-github
69ee464dff
Fix test for #9827 ( #3781 )
2022-02-02 19:29:01 +01:00
chrchr-github
8cf5c8fbf2
Fix #10684 FP unusedStructMember with static object ( #3681 )
2022-02-02 19:28:16 +01:00
chrchr-github
94a1f76ec4
Fix 10158 FP memleak when pointer is stored in a sub-object ( #3764 )
2022-02-02 13:13:12 +01:00
chrchr-github
2b13a27140
Fix #9696 FP uninitdata - writing pointer to stream ( #3772 )
2022-02-02 12:24:32 +01:00
shaneasd
4127885282
improve noConstructor message ( #3750 )
2022-02-01 17:24:26 +01:00
Oliver Stöneberg
8f7770f512
added an include-what-you-use GitHub Action ( #3759 )
2022-02-01 17:19:19 +01:00
chrchr-github
0807924d32
Fix FP passedByValue for unions / FN passedByValue for array members ( #3784 )
2022-02-01 17:17:08 +01:00
chrchr-github
127b3bb1c4
Fix #9471 FP unreadVariable caused by invalid template injection ( #3783 )
2022-02-01 17:15:27 +01:00
Daniel Marjamäki
637aca8d59
Fixed #10752 (False positive: shadow variable in static method)
2022-01-28 16:03:06 +01:00
chrchr-github
d55010c441
Fix #9247 FP uninitMemberVar (inconclusive) ( #3765 )
2022-01-28 15:05:13 +01:00
chrchr-github
c74eeb6bad
Fix FN uninitVar with std::array ( #3707 )
2022-01-27 19:45:27 +01:00
chrchr-github
f429245da2
Fix #8557 FP format string requires unsigned long (for sizeof(var)) ( #3727 )
2022-01-27 19:43:52 +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
40147c1e4b
Fix 10719: Crash in valueFlowIterators() ( #3756 )
...
* Fix 10719: Crash in valueFlowIterators()
* Format
2022-01-26 06:42:41 +01:00
Paul Fultz II
1a949c00b0
Fix 10723: Assertion 'tok && tok->exprId() > 0 && "Missing expr id for symbolic value"' in valueFlowSmartPointer() ( #3755 )
...
* Fix 10723: Assertion 'tok && tok->exprId() > 0 && "Missing expr id for symbolic value"' in valueFlowSmartPointer()
* Format
2022-01-26 06:28:13 +01:00
chrchr-github
c132235a76
Add test for #10398 ( #3752 )
...
* Fix #10200 False positive: uninitStructMember
* Fix #9828 False positive: unreadVariable alias
* Use Token::Match
* Add test for #10398
2022-01-25 22:05:54 +01:00
orbitcowboy
cf6d30f358
Merge branch 'main' of https://github.com/danmar/cppcheck into main
2022-01-25 13:08:25 +01:00
orbitcowboy
00997283cb
Code formatting
2022-01-25 13:08:05 +01:00
chrchr-github
f49cfcd23c
Fix #10200 False positive: uninitStructMember ( #3741 )
2022-01-25 12:14:20 +01:00
chrchr-github
ea81ce933e
Fix #10754 FP invalidFunctionArg with resize() ( #3737 )
2022-01-25 12:13:49 +01:00
chrchr-github
d05e43ce15
Fix #9828 False positive: unreadVariable alias ( #3744 )
2022-01-24 21:52:45 +01:00
chrchr-github
9d6e5c2a05
Fix #10237 uninitMemberVar - member initialized via function call ( #3745 )
2022-01-24 21:52:00 +01:00
chrchr-github
158f3d494e
Fix #10143 false positive: redundantInitialization with std::shared_ptr ( #3746 )
2022-01-24 21:50:50 +01:00
chrchr-github
d64dadcd31
Fix #10758 Crash in CheckClass::checkConstFunc() ( #3740 )
2022-01-24 21:50:01 +01:00
chrchr-github
b491fcc489
Add test cases for #9850 , #9910 ( #3747 )
2022-01-24 15:06:40 +01:00
Paul Fultz II
01e14a12f1
Fix 10755: Assertion "!maxValue->isKnown()" from valueFlowInferCondition ( #3739 )
...
* Fix 10755: Assertion "!maxValue->isKnown()" from valueFlowInferCondition
* Format
2022-01-22 12:25:20 +01:00
Paul Fultz II
8b1ed9cbe1
Another fix for 10739: internalAstError with decltype ( #3738 )
...
* Another fix for 10739: internalAstError with decltype
* Format
2022-01-22 07:22:57 +01:00
chrchr-github
b23ca879ed
Fix #10735 FP functionConst with overloaded operator[] [inconclusive] ( #3733 )
2022-01-21 20:40:10 +01:00
Paul Fultz II
a7dbd288c4
Fix 10738: FP knownEmptyContainer with auto reference ( #3734 )
...
* Fix 10738: FP knownEmptyContainer with auto reference
* Format
2022-01-21 09:56:55 +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
0737cc4d8c
Fix 10708: Assertion "!maxValue->isKnown()" from valueFlowInferCondition ( #3736 )
...
* Fix 10708: Assertion "!maxValue->isKnown()" from valueFlowInferCondition
* Format
2022-01-21 09:56:24 +01:00
Paul Fultz II
57b50e4b00
Fix 10739: internalAstError with decltype ( #3723 )
2022-01-20 21:36:48 +01:00
chrchr-github
7f9ef8c321
Add test cases for #7899 , #7974 , #9256 ( #3726 )
...
* Add test case for #7899 and #7974
* Add test case for ##9256
2022-01-20 16:15:38 +01:00
chrchr-github
4d44d0c079
Fix #9781 FP deallocuse after auto_ptr ( #3724 )
2022-01-19 21:39:45 +01:00
chrchr-github
089ca67d78
Use TODO_ASSERT ( #3704 )
2022-01-18 22:03:52 +01:00
Oliver Stöneberg
55ff684f34
added unusedFunction self check to CI / cleanups ( #3526 )
2022-01-18 22:02:25 +01:00
Rikard Falkeborn
e106654993
Fix #10729 : Uncaughty exception in CheckMemoryLeak::getReallocationType() ( #3717 )
2022-01-18 20:50:06 +01:00
chrchr-github
1e2863cd33
Fix #10520 FP functionConst with aggregate initialization [inconclusive] ( #3720 )
2022-01-18 20:49:35 +01:00
chrchr-github
ca2e0ca287
Fix FP functionConst with extra parentheses ( #3722 )
2022-01-18 20:21:25 +01:00
chrchr-github
cb5a50c6a7
Fix #10710 FN passedByValue with QString ( #3696 )
2022-01-18 20:17:05 +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
orbitcowboy
b6c010c17e
Added regression test for Ticket 7981.
2022-01-18 13:09:02 +01:00
chrchr-github
c2fc4973ad
Fix #10515 False positive for explicit one-argument constructor if co… ( #3718 )
2022-01-17 20:51:23 +01:00
chrchr-github
9c56e7ea8d
Fix #6475 FN uninitialized variable usage not detected ( #3700 )
2022-01-17 20:35:30 +01:00
chrchr-github
605fd7cf98
Fix #10146 FP functionConst (inconclusive) with nested members ( #3719 )
2022-01-17 20:33:32 +01:00
Paul Fultz II
7406dd8c94
Fix 10721: Crash in Tokenizer::simplifyTokenList1 ( #3712 )
2022-01-16 12:46:20 +01:00
Paul Fultz II
abb0563cef
Fix 10726: Crash in CheckExceptionSafety::checkRethrowCopy ( #3711 )
2022-01-16 12:35:51 +01:00
Paul Fultz II
89bc226738
Fix 10718: Crash in CheckOther::checkDuplicateExpression ( #3713 )
2022-01-16 12:34:20 +01:00
Paul Fultz II
4af98f21d6
Fix 10588: crash ( #3691 )
2022-01-16 12:33:31 +01:00
Paul Fultz II
9220c8175d
Remove todo assert ( #3714 )
2022-01-16 12:32:46 +01:00
Paul Fultz II
55ff010df3
Fix 10717: Crash in SymbolDatabase::setValueTypeInTokenList ( #3710 )
...
* Fix 10717: Crash in SymbolDatabase::setValueTypeInTokenList
* Format
2022-01-15 07:56:56 +01:00
Paul Fultz II
0b1cd8626d
Fix 10664: Crash in Token::linkAt ( #3708 )
...
* Fix 10664: Crash in Token::linkAt
* Format
2022-01-14 23:51:01 +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
781a145680
Fix regression: functionStatic related to overload resolution ( #3705 )
2022-01-14 17:55:50 +01:00
chrchr-github
12abf85d1d
Add test case for #5777 , use TODO_ASSERT, enable test case ( #3703 )
...
* Add test case for #5777 , use TODO_ASSERT, enable test case
* Comment
2022-01-13 19:52:02 +01:00
Armin Müller
5a05631c84
Typos found by running "codespell" ( #3702 )
2022-01-13 17:24:26 +01:00
chrchr-github
95dc05b21d
Fix #7732 false negative: (style) Unused variable: std::pair ( #3695 )
2022-01-13 08:05:05 +01:00
chrchr-github
af0a585a70
Partial fix for #9157 False negative: stlOutOfBounds, cast ( #3699 )
2022-01-13 08:03:24 +01:00
Maurice Gilden
44b182c9a7
Improve definitions for googletest ASSERT_* macros ( #3694 )
...
This avoids assertWithSideEffect and follows more closely what the real macros
are doing, similar to the ones in boost.cfg and cppunit.cfg.
2022-01-12 22:09:17 +01:00
chrchr-github
7aa0ec3e95
Fix regression: unreadVariable for trivial initialization ( #3698 )
2022-01-12 22:06:03 +01:00
chrchr-github
1b89c998f5
Fix #10469 FP returnTempReference with overloaded operator+= ( #3678 )
2022-01-12 22:05:30 +01:00
Paul Fultz II
fa651272f0
Fix 10001: Syntax error on valid C++ code ( #3697 )
2022-01-12 22:04:28 +01:00
chrchr-github
e4c8798974
Fix #10556 FP containerOutOfBounds with QList [inconclusive] ( #3688 )
2022-01-12 22:03:57 +01:00
chrchr-github
1670805a8d
Fix #10490 FP unreadVariable with std::shared_lock ( #3672 )
2022-01-10 07:43:02 +01:00
chrchr-github
df3da38483
Fix #10682 Unused QString / #10686 unused std::array / #10005 unused variable with c++11 braced initializer not detected ( #3684 )
2022-01-10 07:36:49 +01:00
Paul Fultz II
4ef20f8f1e
Fix 10683: FP danglingTemporaryLifetime with pointer to vector ( #3685 )
2022-01-10 07:34:26 +01:00
Paul Fultz II
fe7595cd9d
Fix 10677: crash during valueFlowInferCondition ( #3687 )
2022-01-09 22:43:08 +01:00
orbitcowboy
4a3a287248
Improved test case for ticket 1586
2022-01-08 18:39:19 +01:00
orbitcowboy
89e60af516
Ticket #1586 - Added regression test
2022-01-08 17:45:45 +01:00
Paul Fultz II
0c9eb5d190
Fix 10681: FP ctuuninitvar with array member ( #3686 )
2022-01-08 10:47:28 +01:00
chrchr-github
635c09643d
Add tests for #8498 , #9887 ( #3680 )
2022-01-07 12:34:57 +01:00
shaneasd
8f7996211b
remove nullScope from TestSymbolDatabase ( #3679 )
2022-01-06 15:23:43 +01:00
chrchr-github
9fda86eb6d
Fix #9998 ( #3676 )
2022-01-06 15:21:05 +01:00
chrchr-github
6c55f9cf88
Add test for #10133 ( #3675 )
2022-01-06 15:19:10 +01:00
Paul Fultz II
1682344a80
Fix 10678: FP nullPointerArithmeticRedundantCheck in while loop ( #3674 )
2022-01-04 21:19:45 +01:00
chrchr-github
fe077fc141
Add test for #10312 ( #3673 )
2022-01-04 20:50:00 +01:00
Oliver Stöneberg
0ba9cb4e64
fixed some unusedFunction warnings ( #3618 )
2022-01-04 15:48:08 +01:00
chrchr-github
c05e2cc6c4
Fix #10154 False positive: objectIndex ( #3666 )
2022-01-04 10:37:16 +01:00
Paul Fultz II
119ec0582a
Fix 10676: FP: Array index -1 is out of bounds. ( #3670 )
2022-01-04 10:21:54 +01:00
Daniel Marjamäki
3524a0a3eb
exprengine: reduce max buffer size to int_max
2022-01-03 20:55:46 +01:00
Daniel Marjamäki
33305ef4ec
exprengine: better checking for uninit variables
2022-01-03 12:47:13 +01:00
Oliver Stöneberg
6739995e79
removed or annotated some code which is only used in test code ( #3656 )
2022-01-03 12:40:20 +01:00
Paul Fultz II
01a8890d6d
Fix 9760: False positive: constParameter on parameter used to take non-const pointer via array decaying ( #3660 )
2022-01-02 08:15:38 +01:00
Paul Fultz II
71a44395c8
Fix 10659: FP knownConditionTrueFalse - C++17 structured binding ( #3662 )
2022-01-02 08:14:50 +01:00
KenPatrickLehrmann
af289c8357
Handle (&foo)-> in isVariableChanged ( #3624 )
2022-01-02 08:14:10 +01:00
Armin Müller
d5daba331f
Typos found by running "codespell" ( #3659 )
2022-01-02 08:12:08 +01:00
Paul Fultz II
50862d1ace
Fix 10665: Crash in ExpressionAnalyzer ( #3661 )
2022-01-02 08:09:23 +01:00
Paul Fultz II
4b04c86249
Add regression for 9917: false positive: bitwiseOnBoolean when lhs is non-boolean ( #3664 )
2022-01-02 08:08:28 +01:00
Paul Fultz II
0c952ca05d
Fix 10223: ValueFlow; known value for a volatile variable ( #3658 )
2022-01-01 23:15:14 +01:00
Paul Fultz II
7bf0ca8d00
Fix 10672: crash: CheckAutoVariables ( #3657 )
2022-01-01 00:14:36 +01:00
chrchr-github
922e27de4c
Fix #7754 FP Same expression on both sides of '||' ( #3635 )
2021-12-31 08:24:05 +01:00
Rikard Falkeborn
8537331ad6
AutovarDeallocation: Fix grammar in error message ( #3654 )
2021-12-23 20:09:55 +01:00
Paul Fultz II
d36aa590cd
Fix 10553: FP uninitvar with strcpy ( #3652 )
2021-12-23 08:22:41 +01:00
Daniel Marjamäki
e6ccf299b9
Fixed #10598 (SymbolDatabase: final class is not parsed properly)
2021-12-22 21:48:01 +01:00
Chris Lalancette
df1d6cf026
Fix the ability to recognize return types when simplifying attributes. ( #3637 )
...
* Fix the ability to recognize return types when simplifying attributes.
When parsing attributes to remove them, we have to allow for
the case where the return type of the function that follows
the attribute has a namespaced C++ type, like foo::bar .
That means that :: has to be recognized as a valid token.
Fix this in simplifyAttribute, and add tests for this as well.
2021-12-22 19:02:38 +01:00
chrchr-github
5a95ece15e
#10591 : add TODO ( #3647 )
2021-12-21 10:24:38 +01:00
chrchr-github
ca4e5ac527
Fix #7038 false negative for string argument in the CheckIO ( #3649 )
2021-12-20 17:22:39 +01:00
chrchr-github
e6091cbe54
Add tests for #4647 , #5979 , #8763 , #10101 ( #3648 )
2021-12-20 13:12:19 +01:00
Paul Fultz II
73f24b43f9
Fix 10437: FP knownConditionTrueFalse after pointer check ( #3646 )
2021-12-20 07:28:40 +01:00
orbitcowboy
b2d81f0870
Ticket #8640 : Added regression test
2021-12-19 17:43:32 +01:00
Paul Fultz II
d69257e8cd
Fix 9740: FP accessMoved related to designated initialization ( #3644 )
2021-12-19 12:36:48 +01:00
Oliver Stöneberg
cc24d6fcef
Fix #9162 (Invalid --project files do not give any error) ( #3177 )
2021-12-19 12:36:11 +01:00
chrchr-github
bb327be8e8
Fix #10591 FP unusedStructMember with value-initialized struct and typedef ( #3643 )
2021-12-18 22:55:52 +01:00
chrchr-github
8df25ec4e9
Fix #8266 identicalConditionAfterEarlyExit variable modified in if-clause ( #3610 )
2021-12-18 22:52:54 +01:00
Paul Fultz II
332f4c205a
Fix 9772: FP uninitvar: in cppcheck 2.1 ( #3638 )
2021-12-17 21:51:47 +01:00
Paul Fultz II
e7db974606
Fix 10621: FP arrayIndexOutOfBoundsCond with multiple index checks ( #3640 )
2021-12-17 21:48:29 +01:00
Paul Fultz II
4fb43a3f56
Fix 10643: FP: (error) Array 'buf[64]' accessed at index -1, which is out of bounds. ( #3639 )
...
* Fix 10643: FP: (error) Array 'buf[64]' accessed at index -1, which is out of bounds.
* Format
2021-12-17 10:05:57 +01:00
Paul Fultz II
398fa28021
Fix 10657: False positive; ValueFlow - invalid iterator ( #3636 )
2021-12-16 22:34:51 +01:00
Paul Fultz II
ac4f4258a0
Fix 10651: Crash on static template method ( #3633 )
2021-12-16 22:32:44 +01:00
Oliver Stöneberg
ba402f3e50
cleaned up includes based on include-what-you-use ( #3627 )
2021-12-15 19:47:27 +01:00
Paul Fultz II
5414814238
Fix 10649: False positive: wrong known value after reassignment ( #3631 )
2021-12-15 19:37:25 +01:00
Paul Fultz II
16110b6157
Fix 10339: Lambda in leads to analysis fail ( #3629 )
2021-12-15 19:34:18 +01:00
Paul Fultz II
5f73af0d0e
Fix 10625: False positive: known value below do while ( #3623 )
2021-12-15 19:32:14 +01:00
Paul Fultz II
6681576707
Fix 10642: False positive: Possible dereference of an invalid iterator: v.begin()+v.size()-1 ( #3630 )
2021-12-15 19:31:28 +01:00
chrchr-github
532477cdb2
Fix #9549 FP knownConditionTrueFalse (bitshift) ( #3616 )
2021-12-14 07:30:57 +01:00
Paul Fultz II
cb2738a60c
Fix 10645: FP knownEmptyContainer after conditional return ( #3620 )
2021-12-14 07:22:57 +01:00
Daniel Marjamäki
77434d093e
SymbolDatabase: Do not set wrong type for std::map etc items in range for loop
2021-12-11 15:16:54 +01:00
chrchr-github
f64097465f
Fix #9342 FP oppositeExpression - negated value is not opposite for bitwise logical operators ( #3615 )
2021-12-10 18:06:45 +01:00
Rikard Falkeborn
e7b6920cf4
Fix #10600 : FP invalid dealloc of function array argument ( #3613 )
...
Do not warn for array arguments that are free'd, since they decay to
pointers.
2021-12-09 07:16:40 +01:00
orbitcowboy
bca27bf7d2
Ticket #6098 , added regression test
2021-12-07 08:50:29 +01:00
chrchr-github
33c55f77a8
Fix #9570 ( #3608 )
2021-12-07 07:44:07 +01:00
Paul Fultz II
3874c546cc
Fix 10641: FP invalidLifetime with compiler-generated constructor ( #3609 )
2021-12-07 07:43:25 +01:00
Paul Fultz II
0be6e27231
Fix 10640: FN nullPointerRedundantCheck ( #3607 )
...
* Fix 10640: FN nullPointerRedundantCheck
* Format
2021-12-06 20:06:48 +01:00
Paul Fultz II
d2926bfa96
ValueFlow: Propagate const variables more aggressively ( #3606 )
...
* ValueFlow: Propagate const variables more aggressively
* Format
* Fix incorrect addition
2021-12-06 09:16:42 +01:00
orbitcowboy
97f84a368d
Ticket #8648 : Added regression test.
2021-12-05 17:44:57 +01:00
Rikard Falkeborn
1a50146745
autovarInvalidDeallocation: Fix fp with impossible value ( #3604 )
...
daca reports new false positives after db4f94fdfe
on the form:
void f() {
char *ptr = malloc(10);
char *empty_str = "";
if (ptr == NULL)
ptr = empty_str;
if (ptr != empty_str)
free(ptr);
}
Add a check that the value is not impossible to avoid this.
2021-12-05 15:47:21 +01:00
Paul Fultz II
f64bcac004
Fix 10429: Regression: invalidIterator ( #3603 )
2021-12-05 15:46:52 +01:00
Paul Fultz II
c0af66bb52
Fix 10552: Internal error with unusedFunction ( #3600 )
2021-12-05 15:46:17 +01:00
Paul Fultz II
35f14962fc
Regression test for 9523: Syntax Error: AST broken, 'if' doesn't have two operands. ( #3602 )
2021-12-04 17:03:02 +01:00
Paul Fultz II
a03e731930
Track lifetimes of lambdas that capture the 'this' variable ( #3594 )
2021-12-04 17:00:55 +01:00
Paul Fultz II
29dbded4af
Fix 10615: Crash in Token::linkAt ( #3599 )
2021-12-04 12:57:59 +01:00
Paul Fultz II
bc31419da0
Fix 9301: Syntax error when specializing template variable array ( #3601 )
2021-12-04 12:56:25 +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
c14920218c
Fix 10624: FP knownConditionTrueFalse with pointer member and dynamic cast ( #3598 )
2021-12-04 08:54:24 +01:00
Paul Fultz II
a0d633945e
Fix 10621: FP arrayIndexOutOfBoundsCond with multiple index checks ( #3597 )
...
* Fix 10621: FP arrayIndexOutOfBoundsCond with multiple index checks
* Format
2021-12-04 08:54:04 +01:00
chrchr-github
b6b2cf8283
Add tests, todo for #9291 , #9949 ( #3593 )
2021-12-02 17:28:31 +01:00
chrchr-github
6f2000a99b
Add test for #9126 ( #3592 )
2021-12-01 18:24:25 +01:00
chrchr-github
4a1a1534df
Fix #10632 (FN charset in format string) ( #3590 )
...
* Fix #10632
* Typo
2021-12-01 09:51:48 +01:00
Rikard Falkeborn
db4f94fdfe
Fix #7341 : Dealloc string literal ( #3586 )
2021-11-30 07:31:28 +01:00
chrchr-github
d565cde815
Fix and tests for #7622 , #10381 , #10382 ( #3588 )
...
* Add test cases for #10381 , #10382
* Fix #7622
* Format
2021-11-29 22:51:35 +01:00
chrchr-github
b4a60305f9
Add todo for #9827 ( #3589 )
2021-11-29 19:12:07 +01:00
chrchr-github
ca311ebcdf
ASSERT() on calls to Tokenizer::tokenize() in test code ( #3501 )
2021-11-29 07:34:39 +01:00
Paul Fultz II
853a1f6d54
Fix 10631: FP, Regression: error: Return value of allocation function 'makeThing' is not stored. ( #3585 )
2021-11-29 07:06:43 +01:00
Daniel Marjamäki
c26e205e29
clang import: fixed problem with nameless struct
2021-11-29 07:00:18 +01:00
Paul Fultz II
57f5b19b34
Fix 7812: False negative: return pointer of local variable ( #3583 )
...
* Fix 7812: False negative: return pointer of local variable
* Format
* Add test case for 3029
* Format
2021-11-28 15:25:21 +01:00
chrchr-github
cea649761c
Fix FN buffer overrun with array of pointers ( #3582 )
2021-11-27 12:15:36 +01:00
Paul Fultz II
1e327dfbd3
Fix 9836: False negative: No invalidContainer when using vector of vectors ( #3580 )
...
* Fix 9836: False negative: No invalidContainer when using vector of vectors
* Format
2021-11-26 13:38:40 +01:00
Paul Fultz II
143ddf2758
Fix 10595: FN: std::vector() reserve() ( #3581 )
...
* 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 ( #3572 )
2021-11-25 22:34:00 +01:00
Paul Fultz II
33ad30f4da
Fix 10617, 9824: conditions in expanded macro ( #3578 )
2021-11-25 18:40:15 +01:00
Rikard Falkeborn
085d25f1b1
SymbolDatabase: Fix valuetype with constexpr and auto ( #3577 )
2021-11-24 16:51:40 +01:00
chrchr-github
a6b8339990
Add test for #10607 ( #3576 )
...
* Add test for #10607
* Format
2021-11-24 14:42:19 +01:00
chrchr-github
ed050659a3
Add test cases, todos for #9790 , #10358 , #10462 ( #3564 )
...
* Add test cases, todos
* Format
* Remove dupes
* Format
2021-11-23 23:07:15 +01:00
Paul Fultz II
b80e24231b
Fix 10604: FP mismatchingContainerIterator with container member ( #3575 )
2021-11-23 22:50:32 +01:00
Daniel Marjamäki
c7ef602cd6
Fixed #9759 (False positive: constParameter on parameter used by non-const call via pointer to member function)
2021-11-21 20:03:38 +01:00
chrchr-github
cdc34fe92f
Add test for #10025 ( #3570 )
2021-11-20 08:53:18 +01:00
chrchr-github
b211139dbd
Add test for #10092 ( #3571 )
2021-11-20 08:52:51 +01:00
chrchr-github
194a1be2c6
Add test for #4792 ( #3573 )
2021-11-20 08:52:27 +01:00
chrchr-github
22eeeed17a
Add test for #6342 ( #3569 )
...
* Add test for #6342
* Format
2021-11-18 20:25:21 +01:00
chrchr-github
80578c3504
Add test for #10342 ( #3567 )
2021-11-17 19:29:21 +01:00
chrchr-github
51d0f128a5
Add test for #10126 ( #3568 )
2021-11-17 19:28:15 +01:00
Daniel Marjamäki
f701a9361d
chmod; Use 644 for source files
2021-11-17 08:25:25 +01:00
Daniel Marjamäki
8b5865055a
SymbolDatabase: Fix Variable pointer property for 'std::string x(*p)'
2021-11-17 08:22:49 +01:00
chrchr-github
2998382c86
Add test for #10011 ( #3566 )
...
* Add test for #10011
* Format
* Format
2021-11-16 16:01:10 +01:00
Paul Fultz II
8bff45281d
Fix 10599: regression- segmentation fault on template code ( #3565 )
2021-11-16 06:49:13 +01:00
Stefan van Kessel
5770110377
Fixed #10432 (Only the first default argument was copied from the forward declaration;) ( #3530 )
...
Co-authored-by: Stefan van Kessel <stefan.vankessel@muehlbauer.de>
2021-11-15 20:37:46 +01:00
chrchr-github
9c31e0ce54
Fix #10393 FP returnDanglingLifetime ( #3562 )
2021-11-15 20:36:38 +01:00
Paul Fultz II
a0d3c2c719
Handle for loop conditions in afterCondition ( #3561 )
2021-11-14 18:30:36 +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
Paul Fultz II
13f5b560ce
Fix 10555: FP knownConditionTrueFalse with non-const function in base class ( #3559 )
2021-11-12 20:05:43 +01:00
chrchr-github
49d3e07b59
Add test case for #10137 ( #3558 )
2021-11-11 20:25:10 +01:00
Paul Fultz II
771188238c
Fix 10574: ValueFlow: conditional values in constructor initializer list ( #3556 )
2021-11-11 08:01:10 +01:00
Paul Fultz II
c057dcce0f
Fix 10592: False positive: returnDanglingLifetime ( #3557 )
2021-11-11 08:00:05 +01:00
chrchr-github
0d1d3b4ed0
Add regression test for #10458 ( #3555 )
2021-11-11 07:59:14 +01:00
nomick
5865b05703
fix false positive of virtual function call ( #3553 )
2021-11-11 07:53:30 +01:00
chrchr-github
77069d810c
Add test case ( #3554 )
2021-11-08 20:31:45 +01:00
chrchr-github
629f883408
Fix #10097 : autovarInvalidDeallocation with pointer to std::array ( #3529 )
2021-11-08 20:31:16 +01:00
chrchr-github
b4561229cb
Partial fix for #10358 : set value for int s = int(4); ( #3523 )
2021-11-08 20:28:55 +01:00
Paul Fultz II
035c70c441
Fix 10578: Value not impossible after check ( #3549 )
2021-11-07 18:19:56 +01:00
Paul Fultz II
a50596df72
Fix 10582: ValueFlow; wrong known value ( #3550 )
2021-11-07 06:51:51 +01:00
Paul Fultz II
1791457227
Fix 9953: false positive: uninitvar ( #3548 )
2021-11-07 06:51:19 +01:00
Paul Fultz II
6338c2396c
Fix 10589: False positive: danglingLifetime for moved unique ptr ( #3547 )
2021-11-06 19:08:19 +01:00
KenPatrickLehrmann
f5f600bafc
Don't simplify template for class names in declarations ( #3505 )
...
* Don't simplify template for class names in declarations
Without the patch, the test would give:
```
Expected:
namespace foo { class Bar ; } class Baz ; class C : Baz { } ;
Actual:
namespace foo { class Bar ; } class Baz ; class foo :: Bar : Baz { } ;
```
* Use valid code in test case
2021-11-06 19:07:45 +01:00
Paul Fultz II
ffc2a9d8e2
Fix 9735 for valueFlowUninit ( #3538 )
2021-11-06 19:06:07 +01:00
Paul Fultz II
b835744a81
Fix 10585: FP danglingTemporaryLifetime recent regression ( #3544 )
...
Fix 10585: FP danglingTemporaryLifetime recent regression
2021-11-04 09:24:24 +01:00
Daniel Marjamäki
0f259a5dc6
Fixed #10222 (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 ( #3542 )
2021-11-01 19:23:15 +01:00
Paul Fultz II
7d7584b456
Fix 10575: Improve check; lifetime, struct member points to local data ( #3541 )
2021-11-01 19:22:21 +01:00
Paul Fultz II
df59b07ba1
Fix 10226: FN: knownConditionTrueFalse ( #3537 )
2021-10-31 14:51:07 +01:00
Daniel Marjamäki
3e6540c4b3
Fixed #10523 (FP: missingReturn with nested switch statements)
2021-10-31 14:48:29 +01:00
orbitcowboy
bd63882d80
testuninitvar: #9735 - Moved test to valueFlowUninit.
2021-10-31 07:14:00 +01:00
Paul Fultz II
8c9c46835a
Fix for 6597: false negative: uninitialized variable usage not detected (ValueFlow , multi variables) ( #3535 )
2021-10-30 22:13:58 +02:00
Daniel Marjamäki
3f7093004a
Fixed #10485 (FP unusedStructMember for array size)
2021-10-30 19:34:46 +02:00
chrchr
f363d8948b
Fix test case
2021-10-30 19:04:50 +02:00
orbitcowboy
242acb6135
testuninitvar: Moved test into CTU section.
2021-10-30 17:07:52 +02:00
orbitcowboy
be2ba0f772
Ticket #9735 - Added regression test
2021-10-30 16:31:59 +02:00
Oliver Stöneberg
61a2b89034
streamlined message/error printing of CmdLineParser ( #3524 )
...
* cmdlineparser.cpp: removed message about deprecated --std=posix
* streamlined message/error printing of CmdLineParser
* test-helloworld.py: adjusted expected test result
2021-10-30 13:30:48 +02:00
Oliver Stöneberg
b4704ba065
use target-specific configuration instead of global ones in CMake ( #3534 )
2021-10-30 09:08:07 +02:00
Paul Fultz II
e998cd13ca
Partial fix for 10393: FP returnDanglingLifetime when constructing string from iterators [inconclusive] ( #3536 )
2021-10-30 09:06:36 +02:00
Paul Fultz II
e20ddd55d6
Propagate partially uninit variables in ValueFlow ( #3533 )
2021-10-30 07:43:37 +02:00
chrchr-github
728531aba1
Add test cases for ValueFlow issue with cast/switch ( #3527 )
2021-10-28 19:49:42 +02:00
Daniel Marjamäki
1f01845efb
Fixed #10531 (FP unreadVariable with reference and *=)
2021-10-25 19:34:19 +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
48fc70b810
Dont stop analysis when an unrelated class variable is changed ( #3518 )
2021-10-23 14:47:10 +02:00
Paul Fultz II
ca83222bae
Add subexpression analyzer to set values for uninitialized members of struct ( #3517 )
...
* 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
Paul Fultz II
257efb4019
Check if uninit value is used in library function ( #3516 )
2021-10-20 20:51:59 +02:00
Daniel Marjamäki
921f5c1818
Fixed #10547 (False positive: constVariable, buffer written by stream read)
2021-10-18 19:38:53 +02:00
orbitcowboy
21abf315b3
windows.cfg: Added a regression test for GetPrivateProfileString() as we had a FP in the past 8b6c14aa48
2021-10-17 11:05:19 +02:00
orbitcowboy
9c16f13651
Format
2021-10-16 00:31:55 +02:00
orbitcowboy
d4a98dfaab
Ticket #4716 : Added a regression test
2021-10-15 22:50:29 +02:00
chrchr-github
c88dceff95
Partial fix for #10358 : set value for int s{ 4 }; ( #3506 )
2021-10-15 20:05: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
876702c4f2
Fix 10098: false negative: 'Reference to temporary returned.' not detected with class ( #3509 )
2021-10-15 10:59:40 +02:00
Paul Fultz II
7f04658585
Fix 10548: FP knownConditionTrueFalse with loop and operator++ ( #3511 )
2021-10-15 10:59:01 +02:00
Paul Fultz II
89515600e4
Fix 10538: FN: nullPointer (std::swap pointers) ( #3504 )
2021-10-15 10:58:16 +02:00
Paul Fultz II
130d1abbce
Fix 10210: FN: nullPointerRedundantCheck regression in member function ( #3512 )
2021-10-15 10:57:40 +02:00
Paul Fultz II
f1f86db0da
Fix 10544: FP knownConditionTrueFalse with loop after check ( #3508 )
2021-10-14 16:47:15 +02:00
Paul Fultz II
6b9ef1fc58
Propagate symbolic values for identity operators ( #3497 )
2021-10-14 16:46:36 +02:00
orbitcowboy
f09b4139fe
Ticket #8407 : Added regression test
2021-10-12 09:42:18 +02:00
orbitcowboy
c3af708a55
Ticket #8209 : Added regression test
2021-10-12 08:25:08 +02:00
chrchr-github
c4c12df372
Fix escape sequences in test cases ( #3499 )
2021-10-11 19:16:51 +02:00
Paul Fultz II
52e4bec50a
Fix 10537: FN: knownConditionTrueFalse (std::string::c_str() never returns nullptr) ( #3498 )
2021-10-11 19:16:12 +02:00
Paul Fultz II
5e9bc48d26
Evaluate symbolic values ( #3495 )
2021-10-11 19:10:37 +02:00
Daniel Marjamäki
6bd5f79451
Revert "Fix 8629: false negative: (style) Condition '...' is always true ( #3492 )"
...
This reverts commit b9be38aaec
.
2021-10-10 21:21:21 +02:00
Paul Fultz II
b9be38aaec
Fix 8629: false negative: (style) Condition '...' is always true ( #3492 )
2021-10-09 16:20:38 +02:00
Paul Fultz II
bc90ae889d
Fix 10543: FP knownConditionTrueFalse with static variable ( #3491 )
2021-10-09 16:20:04 +02:00
Paul Fultz II
a1e0ef9b38
Refactor: Use interval analysis for symbolic values for inferCondtion ( #3488 )
2021-10-09 16:19:06 +02:00
orbitcowboy
098c0c44fd
Ticket #7884 : added regression test
2021-10-08 23:14:16 +02:00
Paul Fultz II
25eb0ab5bc
Find dangling pointers to unique_ptr ( #3486 )
2021-10-06 08:46:25 +02:00
Paul Fultz II
3cb252bd99
Fix 9873: False negative: null pointer when checking raw pointer ( #3485 )
2021-10-06 08:39:58 +02:00
chrchr-github
f3e1f0d41b
Fix #10238 : char* confused with char ( #3484 )
2021-10-05 18:04:48 +02:00
Paul Fultz II
9b6c7007d2
Fix 9870: False negative: null pointer after duplicate conditions ( #3481 )
2021-10-05 08:29:23 +02:00
Paul Fultz II
8668d445c7
Add support for string_view ( #3480 )
2021-10-05 08:28:19 +02:00
Paul Fultz II
71809044bd
Fix 10522: FP: derefInvalidIterator when using emplace with 1 argument ( #3482 )
2021-10-05 08:23:47 +02:00
KenPatrickLehrmann
61cddabe74
Fix FP due to namespace scope ( #3475 )
2021-10-04 23:16:16 +02:00
chrchr-github
428144c53c
Fix #10513 : vector constructed from pointers ( #3473 )
2021-10-04 07:55:17 +02:00
Paul Fultz II
2ca2abdf0e
Remove duplicate uninit warnings ( #3478 )
2021-10-04 07:50:23 +02:00
Daniel Marjamäki
eb50d19657
Uninitvar: Moved testcases for avoiding extra warnings from TestValueFlow to TestUninitVar
2021-10-03 22:15:35 +02:00
Daniel Marjamäki
08bc21199e
Make ci happy
2021-10-03 22:01:13 +02:00
Daniel Marjamäki
b3f9df968b
Uninitvar: fixed 'make checkcfg'
2021-10-03 20:32:39 +02:00
Daniel Marjamäki
6a1b7f53ce
Fixed CI
2021-10-03 18:47:21 +02:00
Daniel Marjamäki
f3d9755e65
UninitVar: too many warnings (pointer dereference)
2021-10-03 18:12:29 +02:00
Daniel Marjamäki
9f2ddf1623
UninitVar: too many warnings (function/cast operand)
2021-10-03 14:47:57 +02:00
Paul Fultz II
fc6a791a74
Fix 9766: False positive; suspicious operator is written in declaration ( #3476 )
2021-10-03 09:59:51 +02:00
chrchr-github
609e20d9d8
ValueFlow: string can be constructed from init list ( #3459 )
2021-10-02 23:09:49 +02:00
chrchr-github
d87c599f1e
Add regression test for #10475 ( #3468 )
2021-09-27 19:57:41 +02:00
Daniel Marjamäki
08f9de95e2
Update copyright year
2021-09-26 11:34:56 +02:00
Paul Fultz II
d1181ad8e2
Fix 10506: Hang: template alias (TemplateSimplfier) ( #3466 )
2021-09-25 11:56:39 +02:00
Paul Fultz II
5c3b69fe96
Fix 10496: crash: endless recursion (symbolDatabaseCreateExprId => isSameExpr => isSameExpr ...) ( #3467 )
2021-09-25 11:55:49 +02:00
Daniel Marjamäki
2ee920dc4e
Fixed #10495 (False positive: unreadVariable when assigning to reference returned by method)
2021-09-24 07:30:17 +02:00
Paul Fultz II
edd435d5f0
Fix 10491: Crash in unusedFunction on valid C++ code ( #3465 )
2021-09-22 13:03:46 +02:00
Paul Fultz II
255dc0484a
Fix 10331: wrong conditional value after assignment+return ( #3461 )
2021-09-21 19:25:41 +02:00
orbitcowboy
944c9f0db9
Formatted the code [ci skip]
2021-09-20 11:39:04 +02:00
Paul Fultz II
c76e6345c4
Fix FPs in bitwiseOnBoolean ( #3455 )
2021-09-19 15:20:57 +02:00
Paul Fultz II
9e9a982c6c
Fix 10468: False positive; uninitialized variable. Loop is always executed at least once ( #3462 )
2021-09-18 22:23:05 +02:00
orbitcowboy
578d3c3a93
Fixed #8723 : False negative: Same expression with methods
2021-09-17 19:46:46 +02:00
Daniel Marjamäki
6234e9ddda
Fixed #10483 (FP constParameter with array member and memcpy)
2021-09-15 21:25:16 +02:00
chrchr-github
05acc13582
Shadow variables, const, rename function ( #3456 )
2021-09-15 20:28:58 +02:00
Daniel Marjamäki
a9a093e7cc
Fixed #10367 (False positive; pointer out of bounds argv-1)
2021-09-15 08:29:10 +02:00
chrchr-github
2d3b8d7003
Add regression test for #10473 ( #3457 )
2021-09-13 20:46:39 +02:00
Daniel Marjamäki
29bbb4ce14
Fixed #9220 (False positive: Unused function check for template parameter)
2021-09-12 20:27:49 +02:00
Daniel Marjamäki
b455f847ba
Fixed #10448 (FN compareValueOutOfTypeRangeError with int32_t)
2021-09-12 15:08:14 +02:00
Daniel Marjamäki
6f4ce486a2
Fix FP in constVariable
2021-09-11 20:25:46 +02:00
Paul Fultz II
9ece849d80
Fix 10467: FP mismatchingContainers with array of vectors ( #3453 )
2021-09-09 20:43:46 +02:00
Paul Fultz II
b0b3f7ec2d
Fix 10464: FP: knownConditionTrueFalse ( #3452 )
2021-09-09 07:49:56 +02:00
Daniel Marjamäki
47f5e5d145
Fixed #10461 (FP missingReturn with empty initializer list)
2021-09-06 21:20:19 +02:00
Paul Fultz II
d4174a31ba
Fix 10414: FP 'The address of local variable 'single_value' might be accessed at non-zero index.' (regression) ( #3447 )
2021-09-06 07:15:46 +02:00
Paul Fultz II
98e22f6162
Fix 10413: FP arrayIndexOutOfBoundsCond after check ( #3446 )
2021-09-06 07:15:24 +02:00
Daniel Marjamäki
045f21ee48
Fixed #10142 (FP uninitMemberVar with std::map)
2021-09-05 16:35:24 +02:00
Paul Fultz II
0335671b35
Fix 10450: regression, FP : Iterator 'iter' from different container 'l' are used together ( #3436 )
2021-09-05 07:35:33 +02:00
FabianWolff
cd5fa015c1
Fix incorrect warning with `%zi` in format string ( #3437 )
2021-09-05 07:34:22 +02:00
Paul Fultz II
ccb31d8510
Fix 10460: FP knownConditionTrueFalse 'fabs(x)<1/(double)16' is always false ( #3445 )
2021-09-05 07:10:58 +02:00
Paul Fultz II
928efe77fc
Fix 9765: FP: knownConditionTrueFalse handling of template function with ternary operator ( #3443 )
2021-09-04 19:55:36 +02:00
Paul Fultz II
28bc717cbe
Fix 10163: false positive: lifetime for r is not same as for seq 'for (auto& r: seq)' ( #3442 )
2021-09-04 19:53:14 +02:00
Paul Fultz II
82b725e540
Fix FP when using deferred locks ( #3441 )
2021-09-04 19:06:48 +02:00
Paul Fultz II
9eb5eadd35
Fix 9777: False Positive: Condition is always true with reset/release on unique_ptr ( #3440 )
2021-09-04 19:06:13 +02:00
Paul Fultz II
8a708e556c
Fix 10456: FP identicalConditionAfterEarlyExit with variable captured by reference ( #3439 )
2021-09-04 19:05:41 +02:00
Ken-Patrick Lehrmann
b3b3b6b2a1
Fix handling of namespace scope with several bodystarts ( #3438 )
...
Follow up to 0093452bed
.
Give the proper end to getVariableList, since it might not be bodyEnd.
Before that, getVariableList would add the same variables in several
unrelated scopes, and all kind of false positive would follow.
For instance, with the case I added in the unit-tests, I had:
```
../code.cpp:15:18: warning: The struct 'is_A' defines member variable with name 'foo' also defined in its parent struct 'is_A_impl'. [duplInheritedMember]
static const int foo = 8;
^
../code.cpp:15:18: note: Parent variable 'is_A_impl::foo'
static const int foo = 8;
^
../code.cpp:15:18: note: Derived variable 'is_A::foo'
static const int foo = 8;
^
../code.cpp:15:18: style: struct member 'has_A::foo' is never used. [unusedStructMember]
static const int foo = 8;
^
../code.cpp:15:18: style: struct member 'is_A::foo' is never used. [unusedStructMember]
static const int foo = 8;
^
```
2021-09-04 11:09:33 +02:00
Paul Fultz II
2b7523e466
Regression test for 8742: False positive: ValueFlow regression ( #3444 )
2021-09-04 08:45:55 +02:00
Paul Fultz II
b788e41191
Fix 10438: FP knownConditionTrueFalse after return in a catch clause ( #3429 )
2021-09-03 23:07:08 +02:00
Daniel Marjamäki
dccebb98ea
Removed missingReturn inconclusive warnings, that was too noisy
2021-09-01 19:50:17 +02:00
Paul Fultz II
a9a6e4c086
Regression test for 9811: False positive: Reference to temporary returned ( #3434 )
2021-08-31 09:48:50 +02:00
Paul Fultz II
7ce17f076a
Fix 10318: iterator converted to type, wrong scope check ( #3433 )
2021-08-31 09:48:23 +02:00
Paul Fultz II
49df3d811a
Validate asserts in the AST to fix crash in 10442 ( #3428 )
2021-08-29 20:45:31 +02:00
Daniel Marjamäki
ccfd18b96d
Simplify Typedef: Fixed typedef simplification in expanded tokens
2021-08-29 19:14:53 +02:00
Daniel Marjamäki
19fea629c6
Fix FP in checkCompareValueOutOfTypeRange when sign is unknown
2021-08-29 16:03:56 +02:00
Paul Fultz II
92eb59981d
Fix 10435: False positive: containerOutOfBounds ( #3426 )
2021-08-29 15:40:10 +02:00
Paul Fultz II
2ee880752f
Fix 10410: FP nullPointerRedundantCheck on if (a || b ) followed by if ( b ) ( #3427 )
2021-08-29 15:39:41 +02:00
Daniel Marjamäki
06249c08f3
argumentSize: Clarify error message
2021-08-29 15:38:58 +02:00
Daniel Marjamäki
0d31486264
Fixed #10403 (Wrong AST for destructor call)
2021-08-28 22:11:30 +02:00
Paul Fultz II
c0765c451d
Fix 10139: AST broken; std::enable_if_t<> ( #3424 )
2021-08-28 09:28:56 +02:00
Paul Fultz II
4566e0e439
Fix 10148: False positive: knownConditionTrueFalse in for loop due to &= ( #3425 )
2021-08-28 09:28:29 +02:00
Daniel Marjamäki
a55b0c332a
Fixed #10095 (False positive: unreadVariable)
2021-08-27 17:37:42 +02:00
Paul Fultz II
740becbddf
Fix 10348: FP knownConditionTrueFalse with condition variable in do ... while loop ( #3422 )
2021-08-27 05:46:57 +02:00
Paul Fultz II
712ff1c073
Fix 10436: hang: valueFlowSubFunction 'ispunct(c)..' ( #3423 )
2021-08-27 05:46:33 +02:00
chrchr-github
f77d9db852
Add test case for #10383 ( #3421 )
2021-08-26 19:37:29 +02:00
chrchr-github
b2852de456
Amend test cases for #10215 ( #3420 )
2021-08-26 19:37:04 +02:00
Paul Fultz II
1cd9d0479d
Fix 10433: assertion failure in ValueFlow (Interval::fromValues) ( #3419 )
2021-08-26 07:46:40 +02:00
orbitcowboy
b0407ea6b4
Added comment to ticket number, there are no real changes [ci skip]
2021-08-25 21:14:19 +02:00
Paul Fultz II
8aa37218c2
Fix 10400: FP nullPointer - for loop condition ( #3417 )
2021-08-25 20:33:41 +02:00
Daniel Marjamäki
11916171fe
Fix crash in programmemory, crash found in daca@home package system-root
2021-08-25 06:56:19 +02:00
Paul Fultz II
f7ddd7a35d
Fix 10430: FP knownConditionTrueFalse with bool from unsigned char ( #3416 )
2021-08-25 04:51:54 +02:00
Paul Fultz II
8ddc5764f8
Fix 10425: False positive: returnDanglingLifetime when taking address of captured variable ( #3415 )
2021-08-25 04:06:03 +02:00
Daniel Marjamäki
37ef29889b
Fix 10424: ExpressionAnalyzer assertion failure in librevisa
2021-08-24 16:06:51 +02:00
orbitcowboy
7d14f461f0
#8860 : Added regression test
2021-08-24 14:36:13 +02:00
Paul Fultz II
524db1c756
Fix 10420: assertion error when analysing juce ( #3413 )
2021-08-23 11:12:42 +02:00
Paul Fultz II
865163b2ba
Add library configurations for free functions like std::size, std::empty, etc ( #3410 )
2021-08-23 09:03:48 +02:00
orbitcowboy
4ff0db1ec4
#8631 : Added regression test
2021-08-23 08:51:54 +02:00
orbitcowboy
7fc145d076
#7802 : Added a regression test
2021-08-22 20:17:18 +02:00
orbitcowboy
98a84b62a3
#2019 : Added regression test
2021-08-22 20:01:25 +02:00
Daniel Marjamäki
db57efa486
CheckBufferOverrun: Reimplement CheckBufferOverrun::argumentSize check
2021-08-22 16:37:41 +02:00
Paul Fultz II
a0c37ceba2
Fix FP: Set correct bounds for interval ( #3411 )
2021-08-21 21:17:05 +02:00
Paul Fultz II
d30f42e0da
Fix FP when calling a function in a condition ( #3412 )
2021-08-21 18:52:11 +02:00
Daniel Marjamäki
e4f0096255
TestSimplifyUsing; code cleanup
2021-08-21 10:39:53 +02:00
Daniel Marjamäki
ca50dea97d
Fix in Tokenizer::simplifyUsing for non-scopes
2021-08-21 10:10:40 +02:00
Daniel Marjamäki
d73ab0ad96
Tokenizer::simplifyUsing; Fixed bug when enum class is used
2021-08-20 16:08:01 +02:00
Paul Fultz II
e62cdbb664
Deduce symbolic values from conditions ( #3406 )
2021-08-19 22:01:55 +02:00
Paul Fultz II
e0de48bb1d
Fix 7524: ValueFlow: false path for 'x<3' ( #3393 )
2021-08-16 09:19:07 +02:00
Daniel Marjamäki
83270a6c52
Fixed #10376 (Cppcheck does not add some function arguments to the dump file)
2021-08-15 07:48:01 +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
422e411b6c
Fix 9444: Syntax error on valid C++14 code ( #3403 )
2021-08-15 07:43:02 +02:00
Paul Fultz II
6d65f86871
Fix 9245: Synax error on valid C++14 code: AST broken, binary operator '=' doesn't have two operands. ( #3400 )
2021-08-14 22:50:58 +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
818fd248e1
Simplify template keyword bracket ( #3399 )
2021-08-14 21:16:27 +02:00
Paul Fultz II
fdaeaacc40
Symboldatabase: Improve valuetypes for containers, iterators, and smart pointers ( #3398 )
2021-08-14 19:00:58 +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
2a3657154b
Dont require __main__ for an addon ( #3363 )
2021-08-12 20:17:51 +02:00
Paul Fultz II
69eaa9dfd9
Refactor: ConditionHandler cleanup ( #3394 )
2021-08-11 08:37:37 +02:00
Daniel Marjamäki
e95395e5f0
Fixed #10397 (FP constParameter - implementing an interface)
2021-08-10 15:37:59 +02:00
Daniel Marjamäki
c2305b1da7
Fixed #10396 (FP missingReturn on void operator=())
2021-08-10 09:55:16 +02:00
Daniel Marjamäki
d0b6079a83
Fixed #10372 (Confusing message for compareValueOutOfTypeRangeError)
2021-08-10 09:38:28 +02:00
Daniel Marjamäki
0093452bed
SymbolDatabase; Better handling of namespace that is defined in several scopes
2021-08-10 07:00:11 +02:00
Paul Fultz II
0f897acecd
Fix FP in solveExpr when using symbolic values ( #3391 )
2021-08-09 20:41:10 +02:00
orbitcowboy
46f7275833
#8113 : Added a regression test.
2021-08-09 18:30:29 +02:00
Paul Fultz II
a218ea3b23
Fix 10404: FP knownConditionTrueFalse after subtraction ( #3390 )
2021-08-09 07:45:41 +02:00
Daniel Marjamäki
820256d10f
Revert "testsymboldatabase: remove INDENT-OFF and INDENT-ON"
...
This reverts commit 623461fc9c
.
2021-08-09 07:42:16 +02:00
Daniel Marjamäki
623461fc9c
testsymboldatabase: remove INDENT-OFF and INDENT-ON
2021-08-08 21:18:56 +02:00
orbitcowboy
0b36ece049
#8482 : Added another regression test
2021-08-08 10:55:10 +02:00
Paul Fultz II
7f358b2bed
Format with uncrustify ( #3388 )
2021-08-07 20:51:18 +02:00
Daniel Marjamäki
f361106770
fix string literals in test code
2021-08-07 15:51:04 +02:00
chrchr-github
edd86c0b0a
Add regression test for ticket #10374 ( #3386 )
2021-08-06 09:41:26 +02:00
orbitcowboy
1f411498b6
#8196 : Added a regression test
2021-08-05 08:07:03 +02:00
Daniel Marjamäki
27a4df06d2
Revert "SymbolDatabase; First fix to handle when a namespace have many scopes"
...
This reverts commit e6cc7201b0
.
2021-08-04 22:30:39 +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
Daniel Marjamäki
e6cc7201b0
SymbolDatabase; First fix to handle when a namespace have many scopes
2021-08-04 20:36:43 +02:00
Daniel Marjamäki
5e9feb7db1
astyle formatting
2021-08-04 20:32:30 +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
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
chrchr-github
ba00046732
Add test case for ticket #6884 ( #3375 )
...
* Add test case for ticket #9808
* Add test case for ticket #6884
2021-08-02 13:21:18 +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
chrchr-github
405e17985a
Add test case for ticket #9808 ( #3366 )
2021-08-02 06:53:54 +02:00
Daniel Marjamäki
1ec7397c21
astyle formatting
...
[ci skip]
2021-08-01 14:05:30 +02:00
orbitcowboy
ccd525962b
#8220 : Added a regression test.
2021-08-01 12:32:01 +02:00
Robert Reif
94dc6c2c3f
fix #10332 (cppcheck crashes) ( #3371 )
2021-08-01 10:31:36 +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
chrchr-github
9d51b4450b
Add test cases for tickets #9976 and #10371 ( #3364 )
2021-07-27 22:26: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
0d3afbb954
Evaluate casts in programmemory ( #3359 )
2021-07-26 22:22:23 +02:00
Paul Fultz II
14802b932e
Fix 10362: ValueFlow: global variable might be modified by function call ( #3358 )
2021-07-26 22:21:56 +02:00
orbitcowboy
c14bb9cd2e
Running astyle [ci skip]
2021-07-26 16:32:00 +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
f9516cf1c6
Fix issue 10378: FP derefInvalidIteratorRedundantCheck ( #3353 )
2021-07-24 22:44:18 +02:00
Paul Fultz II
00eb71fd49
Remove constexpr -> const simplification ( #3346 )
2021-07-22 07:22:26 +02:00
Daniel Marjamäki
b1547a387e
astyle formatting
...
[ci skip]
2021-07-21 20:13:38 +02:00
Paul Fultz II
41c94b656a
Fix FP const pointer with class variable and add more tests ( #3345 )
2021-07-21 07:36:13 +02:00
Paul Fultz II
8efe1d4ab4
Find reference to dangling unique ptr ( #3344 )
2021-07-20 21:30:27 +02:00
Daniel Marjamäki
fb5ab5e439
constPointer; Improved checking dereferenced pointer is used in calculation/comparison
2021-07-20 10:38:38 +02:00
Daniel Marjamäki
4d23c02320
constPointer; Improved checking when pointer is not dereferenced
2021-07-20 10:28:35 +02:00
Daniel Marjamäki
d1fe34e167
misra; implement rule 8.10
2021-07-18 21:18:07 +02:00
Daniel Marjamäki
9362c1fc6c
missing return; write inconclusive error if function ends with unknown function-like macro
2021-07-18 16:00:42 +02:00
Daniel Marjamäki
02682ab17d
missing return; Fixed FP when function ends with assert(0)
2021-07-18 14:54:25 +02:00
Daniel Marjamäki
eb9a251a4c
const variables/parameters; Improved check to handle pointers also (misra 8.13)
2021-07-18 10:59:52 +02:00
orbitcowboy
1be5bb8bbc
Running astyle [ci skip]
2021-07-18 10:01:22 +02:00
Paul Fultz II
0b079937e0
Fix 10364: Performance regression ( #3340 )
2021-07-18 07:48:21 +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
Daniel Marjamäki
797de4ef92
Fixed #10363 (FP: compareValueOutOfTypeRangeError)
2021-07-16 19:08:08 +02:00
Pavel Šimovec
c71e2da5a8
Remove a false positive - main function has no return value ( #3335 )
2021-07-16 18:50:16 +02:00
Paul Fultz II
942202aede
Evaluate container sizes in forward analysis ( #3338 )
2021-07-16 18:49:07 +02:00
orbitcowboy
8096fa4db1
std.cfg: Added overlappingWriteFunction-check to wcsncat().
2021-07-16 14:30:49 +02:00
orbitcowboy
9b46f59ff0
std.cfg: Cleanup wrong test case.
2021-07-16 14:25:04 +02:00
orbitcowboy
e90a3053d4
std.cfg: Added a overlappingWriteFunction-check to strncat
2021-07-16 14:01:40 +02:00
Daniel Marjamäki
cbb07b6247
misra; implement rule 14.3
2021-07-15 09:43:38 +02:00
orbitcowboy
435cffa858
std.cfg: Improved configuration of std::next(),std::prev() and added TODO tests
2021-07-14 10:12:49 +02:00
Daniel Marjamäki
24c17916af
missingReturn; ensure Function::returnsVoid returns true when there is unknown macro 'void STDCALL foo() {}'
2021-07-12 20:29:20 +02:00
Daniel Marjamäki
e4ecfd7be8
missingReturn; Fixed false positive when if condition is always true
2021-07-12 17:53:32 +02:00
Daniel Marjamäki
a336c07663
missing return; False positive when goto jumps back
2021-07-12 15:31:21 +02:00
orbitcowboy
01b68b99c6
posix.cfg: Added overlapping data check for stpcpy().
2021-07-11 16:42:19 +02:00
orbitcowboy
d782cd629a
posix.cfg: Added overlapping data check for bcopy().
2021-07-11 16:38:25 +02:00
Daniel Marjamäki
d9dacc97e4
virtual call in constructor; warn when function is explicitly virtual
2021-07-11 11:03:31 +02:00
Daniel Marjamäki
42388f8da8
Remove TestSamples
2021-07-10 21:04:38 +02:00
Paul Fultz II
afac0e8ad3
Fix colors in output of TestSamples ( #3332 )
2021-07-10 20:14:38 +02:00
orbitcowboy
10fb1851c5
Added more overlapping data configurations
2021-07-10 18:41:36 +02:00
orbitcowboy
7ad64891ea
Added tests for overlapping data.
2021-07-10 18:28:26 +02:00
Daniel Marjamäki
9841e0ed96
new check; file can not be opened for read and write access at the same time on different streams (misra rule 22.3)
2021-07-10 13:59:47 +02:00
orbitcowboy
b68c5dee07
windows.cfg: Added support for _mbscpy().
2021-07-10 09:27:22 +02:00
orbitcowboy
c38a43c353
std.cfg: Added overlappingWriteFunction check to wcscpy().
2021-07-10 09:20:51 +02:00
Daniel Marjamäki
a8fb0309fd
missingReturn; Improved handling of noreturn function
2021-07-10 08:59:01 +02:00
Daniel Marjamäki
53955b48d2
missingReturn; Fixed false negative for goto-label
2021-07-10 08:49:48 +02:00
Daniel Marjamäki
8f1cb2304f
missingReturn; Add missing ASSERT_EQUALS in test
2021-07-10 08:45:04 +02:00
Daniel Marjamäki
c6f7a78ebb
missingReturn; Fixed false positives
2021-07-10 08:37:10 +02:00
Paul Fultz II
9fc5b9472d
Fix 10353: FP knownConditionTrueFalse with conditional assignment ( #3333 )
2021-07-10 07:35:16 +02:00
orbitcowboy
652e2765bc
std.cfg: Added support for wcsncpy regarding data-overlapping
2021-07-09 16:32:54 +02:00
Daniel Marjamäki
86f1acc223
overlapping data; use the size value given by size-arg
2021-07-09 13:43:29 +02:00
Daniel Marjamäki
ce58748690
library: add attribute strlen-arg for <not-overlapping-data>
2021-07-09 13:25:01 +02:00
orbitcowboy
58811808d5
std.cfg: Improved configuration of 'strncpy', which is vulnerable for overlapping write issues.
2021-07-09 09:48:24 +02:00
Paul Fultz II
2300a773e1
Fix 10336: AST cyclic dependency on valid C++ code ( #3331 )
2021-07-09 07:22:24 +02:00
Paul Fultz II
8dc1fa7a59
Add colors to CLI reporting ( #3304 )
2021-07-08 21:21:35 +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
orbitcowboy
3e7b6f262d
std.cfg: Added not-overlapping-data configuration to wmemcpy()
2021-07-08 17:12:53 +02:00
Daniel Marjamäki
7cb66d56f3
missingReturn; fixed false positive with trailing return type
2021-07-08 13:50:26 +02:00
Daniel Marjamäki
ef0af26d9f
missingReturn; Fixed FP when function is declared in macro
2021-07-08 13:14:11 +02:00
Daniel Marjamäki
00a9671f46
misra: implement 8.1
2021-07-07 13:34:55 +02:00
Paul Fultz II
3b9c399f72
Fix 10338: Hang/Crash in valueflow ( #3328 )
2021-07-07 08:20:32 +02:00
orbitcowboy
7d7241b076
#9772 : FP uninitvar: in cppcheck 2.1; Added a regression to test
2021-07-06 14:24:07 +02:00
Maksim Derbasov
6b8d0be431
New check: [perf] Copy elision optimization can't be applied for `return std::move(local)` ( #3281 )
2021-07-06 08:07:46 +02:00
Daniel Marjamäki
6234b5438e
New check: Writing overlapping data, detect undefined behavior
2021-07-05 22:07:41 +02:00
Daniel Marjamäki
6cb8f87798
missing return; fixed false positive for 'return {};'
2021-07-04 19:59:22 +02:00
Daniel Marjamäki
4fd33ef2b5
test/cli: fixed missing returns in test cases
2021-07-04 18:25:19 +02:00
Daniel Marjamäki
036c71d967
Fixed #5462 (non-void function does not return a value)
2021-07-04 11:27:57 +02:00
Daniel Marjamäki
c489626167
updated copyright year
2021-07-04 08:09:11 +02:00
Paul Fultz II
fb9d659e25
Fix 10326: Regression: ValueFlow; Wrong Uninit value after do while ( #3312 )
2021-07-03 09:12:26 +02:00
Armin Müller
fc90598077
Typos found by running "codespell" ( #3324 )
2021-07-02 17:41:51 +02:00
Robert Reif
68898e2be0
fix #10335 (Type alias remains unknown with using) ( #3323 )
...
Co-authored-by: Robert Reif <reif@FX6840>
2021-07-02 06:19:26 +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
869eac5670
astyle formatting
2021-07-01 21:09:32 +02:00