Commit Graph

10636 Commits

Author SHA1 Message Date
Paul Fultz II e65ea8575f
Fix issue 10207: FP: derefInvalidIteratorRedundantCheck with ternary operator (#3197) 2021-04-05 11:10:43 +02:00
Paul Fultz II f605f71e49
Fix issue 10225: false positive: knownConditionTrueFalse (#3196) 2021-04-05 10:20:14 +02:00
Daniel Marjamäki de2e836727 test/cfg/windows.cpp; Uncommented TODO, Cppcheck now writes a warning as it should about unused function return value 2021-04-05 05:20:42 +02:00
Daniel Marjamäki cf8a423636 Unreachable code; better handling of throw in C code 2021-04-05 04:53:07 +02:00
Daniel Marjamäki a21c81365d one definition rule: Fixed false positive for 'class A::B ..' 2021-04-04 21:29:45 +02:00
Daniel Marjamäki 084bc74080 Fixed #8223 (false negative: Statements following return, break, continue, goto or throw will never be executed.) 2021-04-04 19:43:51 +02:00
Daniel Marjamäki 518fb01553 Fixed #8412 (ignoredReturnValue not issued when return value is changed but not really used (by logical not for example)) 2021-04-04 18:26:07 +02:00
Daniel Marjamäki 44f914eaee astyle formatting
ci skip
2021-04-04 18:20:32 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use (#3141) 2021-04-03 21:30:50 +02:00
Oliver Stöneberg 052de79b6d
some test/CI related refactoring and cleanup (#3163) 2021-04-03 21:22:39 +02:00
Daniel Marjamäki 9ce0235e8e std.cfg: Fixed configuration of mbstowcs 2021-04-03 10:42:24 +02:00
Paul Fultz II 182ae75290
Fix issue 10216: FP containerOutOfBounds with std::array initialized with = {} (#3190) 2021-03-31 22:07:54 +02:00
Paul Fultz II 5077663684
Fix issue 9979: false positive: containerOutOfBounds with conditional resize (#3136) 2021-03-30 14:02:28 +02:00
Paul Fultz II 9de976b243
Fix issue 10194: hang with followAllReferences() (#3189)
* Decrease depth faster when there is multiple returns
2021-03-30 11:22:56 +02:00
DGarry82 77716ee398
fix w64-mingw32-ld linking error (#3184)
* fix w64-mingw32-ld linking error

use shlwapi instead of Shlwapi.lib in mingw-w64 build environment
(prevents "/usr/bin/x86_64-w64-mingw32-ld: cannot find -lShlwapi" error)

* same MinGW shlwapi fix for {tests,tools}/CMakeLists.txt

Co-authored-by: Igor Rondarev <igor.rondarev@gmail.com>
2021-03-29 17:04:42 +02:00
Ken-Patrick Lehrmann cddaa6d671
10221: Fix setVarId in template code (#3187)
The computation of the classname was not expecting templates. Simply
skipping the template part seems to fix the issue.
2021-03-29 12:16:02 +02:00
orbitcowboy e23a967215 #4750 Added a regression test 2021-03-28 09:29:46 +02:00
orbitcowboy 185a5e1ee6 #7682 Added regression test 2021-03-26 10:54:08 +01:00
orbitcowboy 6fd916a90f #3763 Added regression test 2021-03-26 10:01:44 +01:00
Lars Even Almaas 9786f1c34b
Suggested implementation for rule 8.2 (#3169) 2021-03-25 08:25:43 +01:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
Daniel Marjamäki 51564504a8 astyle formatting 2021-03-20 18:54:46 +01:00
Tetrix 9b7f1f6280
simplifyCPPAttribute tokenizer strips alignas (#3171) 2021-03-20 10:38:47 +01:00
IOBYTE 1874b9cb0f
fix crash in CheckClass::getFileInfo (#3172)
* fix crash in CheckClass::getFileInfo

* fix another crash

* fix memory leak

Co-authored-by: Robert Reif <reif@FX6840>
2021-03-19 09:19:48 +01:00
IOBYTE b1b7fbb63a
partial revert of b1eaa3021f (#3174)
It is necessary to use a fake NameAndToken in
mTypesUsedInTemplateInstantiation rather than a Token pointer so the
template simplifiers internal state is kept valid when tokens are
deleted. This prevents a use after free.

Co-authored-by: Robert Reif <reif@FX6840>
2021-03-18 09:15:21 +01:00
orbitcowboy 8fffb84aad Running astyle [ci skip] 2021-03-16 09:44:58 +01:00
IOBYTE c9f09fc73f
small template simplifier fixes (#3168)
* small template simplifier optimization

* don't look for template parameter name in default values

* fix cppcheck warning

* add test for TemplateSimplifier::getTemplateParametersInDeclaration()

Also removed TemplateSimplifier::getTemplateParametersInDeclaration()
return value since it wasn't used.

* added another test

Co-authored-by: Robert Reif <reif@FX6840>
2021-03-16 09:31:52 +01:00
Daniel Marjamäki 7d4582d8ef Fixed #9832 (extract configurations; include guards not handled correctly '#if !defined(FILE1_H)') 2021-03-12 18:16:57 +01:00
Rikard Falkeborn 103e52f394
Fix tokenizing of x[i](0) (Fixes #8875) (#3167)
Fix faulty removal of parenthesis when "]" is followed by parenthesis
with a number inside, for example when calling a function pointer in
an array or (perhaps more common) in c++, calling operator ( on an
element in an array.

Fixes #8875 where such wrong simplification lead to a FP with too many
bits shifted due to "<<" was interpreted like a shift operator rather
than a stream output.
2021-03-11 08:16:25 +01:00
Daniel Marjamäki 3502036b14 Usability: Fixed loading of platform file placed in same path as project file 2021-03-05 08:39:09 +01:00
IOBYTE fe4964f22c
fix overloaded template instantiation (#3160) 2021-03-04 08:43:22 +01:00
Rikard Falkeborn 27316e04ed
Fix #10187 (memleak open with fd >= 0) (#3156) 2021-03-03 07:00:28 +01:00
Rikard Falkeborn 42a41e8b41
Fix #9139 (leak when variable has const qualifier) (#3159)
Also, in the tests, change socket/close to resource to get error
messages which say "resource leak" instead of "memory leak".
2021-03-03 06:58:38 +01:00
orbitcowboy 2a40ce6430 windows.cfg: Added support for more defines from WinBase.h and Winnt.h 2021-03-02 10:48:37 +01:00
Daniel Marjamäki fef956f3f0 Testing; Moved test/cli tests from travis to github actions 2021-03-01 18:49:59 +01:00
Daniel Marjamäki 6b166eb5a7 test/cli/test-other-projects.py: Temporarily disable test (to make Travis happy) 2021-02-28 23:11:25 +01:00
IOBYTE 8c57e2bb14
fix template simplifier overloaded specialized instantiations (#3154) 2021-02-28 21:52:14 +01:00
Daniel Marjamäki c9bc5a076f Fixed #10014 (-U switch ignored when using --project=compile_commands.json and --force) 2021-02-28 21:43:51 +01:00
Daniel Marjamäki 199f9608cb TestSuite: Fixed getLocationStr 2021-02-27 04:33:16 +01:00
Daniel Marjamäki 7106e1f48f Moved TestTokenizer::simplifyCasts tests to TestSimplifyTokens 2021-02-27 04:19:54 +01:00
Daniel Marjamäki 81c7fa0348 Moved TestTokenizer::tokenize6 to TestSimplifyTokens 2021-02-27 04:07:33 +01:00
Rikard Falkeborn c3eb37972d
Fix #10182 (FN memory leak with if-statement) (#3151)
Improve leak detections in if-statements. This is done by checking
for leaks every time a scope is left. This allows cppcheck to catch
more memory leaks, as well as improve some error messages which now
contain the line where the variable goes out of scope, instead of the
end of the function.
2021-02-26 12:58:52 +01:00
Daniel Marjamäki 1adea5c3b0 Move simplifyKnownVariables tests to TestSimplifyTokens 2021-02-25 21:32:56 +01:00
Rikard Falkeborn 951ca2c8b9
Fix #10186 (FP memleak with cast and assignment) (#3148) 2021-02-25 10:55:34 +01:00
Daniel Marjamäki e03851f51c Fix compilation error 2021-02-24 22:31:46 +01:00
Daniel Marjamäki 15bc7ad5cb Fix compilation error 2021-02-24 22:20:11 +01:00
PKEuS 3998836b03 Refactorization: Improved string handling in test suite
Merged from LCppC.
2021-02-24 22:05:23 +01:00
PKEuS 141d2ac215 Refactorization: Improved internal implementation of severity and certainty levels
Backported from LCppC.
2021-02-24 22:00:06 +01:00
PKEuS c25b4f1ad6 Fixed false negatives incompleteArrayFill on user defined types (estimate size to determine if it is larger than one byte)
Merged from LCppC.
2021-02-24 21:48:26 +01:00
Daniel Marjamäki 2baeeeb02f astyle formatting 2021-02-24 21:48:26 +01:00