Commit Graph

25070 Commits

Author SHA1 Message Date
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
Ken-Patrick Lehrmann 4296859c1a
Remove usage of std::vector and getArguments from getTokenArgumentFunction (#3435)
getTokenArgumentFunction can be called many many times, and the vector
is not needed, but it can become quite costly.
This patch replaces getArguments with a function simply returning the
position of the token, if it is found in the arguments (thus saving the
cost of std::vector).
2021-09-01 10:51:44 +02:00
orbitcowboy 34efa89e23 windows.cfg: Remove trailing white space 2021-08-31 14:21:25 +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
Daniel Marjamäki 15eb53b403 Tokenizer: Add 'enum struct' pattern 2021-08-30 20:18:06 +02:00
Daniel Marjamäki 055d111ee9 Revert "misra.py: Fixed FN for rule 21.8"
This reverts commit 870b8b9c60.
2021-08-30 19:50:36 +02:00
orbitcowboy 870b8b9c60 misra.py: Fixed FN for rule 21.8 2021-08-30 11:07:38 +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 786700efd6 Makefile; Updated with dmake 2021-08-29 19:33:48 +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
Daniel Marjamäki 43fa7d2ebe misra; Robustness. Fix AttributeErrors. getEssentialType might return None. 2021-08-28 15:27:35 +02:00
Daniel Marjamäki ca047e57bf Switch from http to https on our sourceforge webpage 2021-08-28 12:46:54 +02:00
Daniel Marjamäki 08d02432a4 removed old daca2 script 2021-08-28 12:11:14 +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 6541efdb9a fix selfcheck warning 2021-08-27 22:33:03 +02:00
Daniel Marjamäki a55b0c332a Fixed #10095 (False positive: unreadVariable) 2021-08-27 17:37:42 +02:00
orbitcowboy 58dad23444 windows.cfg: Added support for more constants 'Winerror.h: COM Error Codes (XACT, SCHED, OLE)', taken from https://docs.microsoft.com/en-us/windows/win32/com/com-error-codes-2 2021-08-27 08:57:56 +02:00
orbitcowboy f027124756 windows.cfg: Added constants from Winerror.h: Winerror.h: COM Error Codes (Generic), taken from https://docs.microsoft.com/en-us/windows/win32/com/com-error-codes-1 2021-08-27 08:51:21 +02:00
orbitcowboy 54523e0d4f windows.cfg: Added constants from Winerror.h: COM Error Codes (Security and Setup), taken from https://docs.microsoft.com/en-us/windows/win32/com/com-error-codes-4?redirectedfrom=MSDN 2021-08-27 08:45:30 +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
chrchr-github d9b6940070
Cleanup: unnecessary includes, fix include order, fix unreferenced va… (#3418) 2021-08-26 19:36:31 +02:00
Daniel Marjamäki f31fbba54a Token::typeDecl: Fix endless recursion for code:
void f()
{
  auto val = val;
}

I did not manage to pinpoint a good location to put a unit test. However this will be tested when daca@home runs the package gcc-avr.
2021-08-26 19:03:35 +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
chrchr-github 5868d01e80
THREADING_MODEL_WIN: replace Win32 API calls with std::async, std::mutex (#3408) 2021-08-24 20:39:43 +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
Daniel Marjamäki e1d0db38ee Fixed #10380 (FP: misra-c2012-20.9) 2021-08-22 21:13:27 +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