Daniel Marjamäki
86a8d88729
Tokenizer: Remove simplification of math functions from simplifyTokenList2
2022-06-08 09:58:11 +02:00
Daniel Marjamäki
e43d2b8a80
runformat
2022-06-08 09:21:01 +02:00
chrchr-github
bb3f490edd
Fix #11090 Infinite recursion in findTypeInBase() ( #4178 )
2022-06-08 09:20:16 +02:00
Oliver Stöneberg
9367be804e
fixed `modernize-use-equals-delete` warnings in headers ( #4177 )
2022-06-07 21:25:23 +02:00
chrchr-github
69834d537b
Fix #9997 False negative: variable is not used ( #4104 )
2022-06-07 21:20:33 +02:00
chrchr-github
1d677c57a8
Fix #11126 FN: noExplicitConstructor with single default parameter ( #4174 )
2022-06-07 21:15:13 +02:00
chrchr-github
b80d06b69e
Don't warn for 'x | MACRO' when MACRO is 0 ( #4176 )
2022-06-07 21:13:31 +02:00
chrchr-github
52453947c8
Don't warn for 'x | 0' in macro ( #4172 )
...
* Fix #11082 FN badBitmaskCheck for binary or with 0
* Add test for #10703
* Don't warn for 'x | 0' in macro
* Add test for #10876
2022-06-06 11:17:36 +02:00
orbitcowboy
326d340d76
Added a regression test; A real-world test case like this was found by daca@home: ftp://ftp.de.debian.org/debian/pool/main/o/ogdi-dfsg/ogdi-dfsg_4.1.0+ds.orig.tar.gz head ogdi-ogdi_4_1_0/ogdi/c-api/ecsinfo.c:637:26: error: Invalid strcspn() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr].
2022-06-04 19:33:56 +02:00
chrchr-github
f962436826
Fix #11082 FN badBitmaskCheck for binary or with 0 ( #4170 )
...
* Fix #11082 FN badBitmaskCheck for binary or with 0
* Add test for #10703
2022-06-04 17:25:10 +02:00
orbitcowboy
433ce58fe6
Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/libs/libslirp/libslirp_4.7.0.orig.tar.bz2; head libslirp-v4.7.0/src/tftp.c:336:20: error: Invalid strcasecmp() argument nr 1. A nul-terminated string is required. [invalidFunctionArgStr]
2022-06-04 12:00:54 +02:00
orbitcowboy
1c1c72058f
Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/libs/libslirp/libslirp_4.7.0.orig.tar.bz2; head libslirp-v4.7.0/src/tftp.c:336:20: error: Invalid strcasecmp() argument nr 1. A nul-terminated string is required. [invalidFunctionArgStr]
2022-06-04 07:46:28 +02:00
chrchr-github
e6f2929fac
Fix #11085 FN constVariable with range-based for ( #4118 )
2022-06-03 19:24:59 +02:00
orbitcowboy
a74bb485b0
Fixed TODO_ASSERT
2022-06-03 18:59:09 +02:00
orbitcowboy
6680bf9790
Fixed TODO_ASSERT
2022-06-03 18:35:11 +02:00
chrchr-github
111f4e17da
Fix #11117 FP nullPointerArithmetic when adding 0 ( #4167 )
2022-06-03 13:11:54 +02:00
orbitcowboy
1a4bd0a7b3
Fixed FP, found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/k/knot/knot_3.1.8.orig.tar.xz; knot-3.1.8/tests/knot/test_confio.c:301:18: error: Invalid strcmp() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr]
2022-06-03 13:10:45 +02:00
orbitcowboy
345411a68c
Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/imx-usb-loader/imx-usb-loader_0~git20200517.30b43d69.orig.tar.gz; imx_usb_loader/imx_loader_config.c:130:16: error: Invalid strncat() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr]
2022-06-03 10:20:19 +02:00
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