Commit Graph

11363 Commits

Author SHA1 Message Date
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