Oliver Stöneberg
38abeccd24
added command-line option `--disable=<id>` to disable individual checks ( #4712 )
2023-01-21 10:39:44 +01:00
Oliver Stöneberg
a8fd5cbaf4
added `entrypoint` to library configuration and got rid of hard-coded ones ( #4691 )
2023-01-18 20:52:33 +01:00
chrchr-github
3076f9def1
Fix #11449 Function call not recognized with extra parentheses / FP nullPointer ( #4703 )
2023-01-18 20:38:37 +01:00
chrchr-github
dfd3e8ac55
Partial fix for #11378 : No implicit int in C++ mode ( #4696 )
2023-01-18 20:37:00 +01:00
Daniel Marjamäki
f8c4354d2e
Cleanup *.ctu-info files that are not needed anymore after analysis
2023-01-18 17:32:14 +01:00
chrchr-github
0b62c73ff0
Fix spurious variable declaration with unknown macro and using ( #4698 )
2023-01-18 17:11:41 +01:00
Oliver Stöneberg
25a6146ffa
checkother.cpp: removed stray `CheckUninitVar` object ( #4699 )
2023-01-18 17:10:35 +01:00
chrchr-github
c4784a1552
Partial fix for #11378 internalAstError regressions (iscpp11init) ( #4700 )
2023-01-18 17:09:55 +01:00
chrchr-github
9cf934c10d
Improve handling of 'final' in class declaration ( #4706 )
2023-01-18 17:08:43 +01:00
chrchr-github
dee2ad8756
Fix #10337 FP selfAssignment ( #4682 )
2023-01-18 16:59:56 +01:00
chrchr-github
a2fea3d9b4
Fix #11083 FP knownConditionTrueFalse with reassigned pointer ( #4717 )
2023-01-18 16:57:22 +01:00
chrchr-github
50d297b309
Enable useStlAlgorithm in selfcheck ( #4725 )
2023-01-17 20:48:26 +01:00
chrchr-github
6e2cc450b8
Fix #11330 FN functionConst with access of smart pointer ( #4720 )
...
* Fix #11330 FNfunctionConst with access of smart pointer
* Simplify
2023-01-16 22:07:04 +01:00
Oliver Stöneberg
124668979c
replaced some `std::ostringstream` usage with `std::to_string()` ( #4719 )
2023-01-16 22:05:33 +01:00
chrchr-github
a102ff3c2f
Fix #11485 FN unusedFunction / Fix #7739 FP unusedFunction ( #4707 )
2023-01-14 20:16:55 +01:00
chrchr-github
a79dff15ab
Fix #11492 FP uninitvar with try/catch ( #4711 )
2023-01-14 20:14:38 +01:00
chrchr-github
7bbdc95f25
Fix #11473 FP constVariable / #11448 FP constParameter / #11188 FP danglingTempReference ( #4680 )
...
* Fix #11473 FP constVariable with range-based for / #11448 FP constParameter with unused non-const range loop variable
* Fix ValueType / #11188 FP danglingTempReference with auto
* Fix ValueType in range-based for
* Update symboldatabase.cpp
2023-01-11 22:04:06 +01:00
Armin Müller
a77f0d9403
Typos found by running "codespell" ( #4702 )
2023-01-10 15:15:27 +01:00
chrchr-github
491721a6ff
Fix spurious variable declaration with unknown macro ( #4694 )
2023-01-09 16:11:26 +01:00
Oliver Stöneberg
8cc3e0b2ff
errortypes.h: use `enum class` instead of wrapping types into classes ( #4693 )
2023-01-08 19:31:54 +01:00
chrchr-github
911d610f2d
Fix #11486 FN unusedFunction when enum value with same name exists ( #4690 )
2023-01-08 14:30:42 +01:00
Paul Fultz II
cefc105c5f
Fix 11468: false positive danglingTempReference warning ( #4679 )
2023-01-07 23:44:22 +01:00
chrchr-github
4ebdf5fae1
Fix #11478 FP identicalConditionAfterEarlyExit when passing *this ( #4684 )
2023-01-07 22:10:07 +01:00
Paul Fultz II
6020feb271
Fix 11461: arrayIndexOutOfBounds false positive ( #4686 )
2023-01-07 22:09:17 +01:00
Oliver Stöneberg
a09667a6d9
removed unused error messages ( #4689 )
2023-01-07 10:35:39 +01:00
Paul Fultz II
a338be4682
Add source traces when using LifetimeStore ( #4678 )
2023-01-03 22:02:48 +01:00
chrchr-github
4c1c506d21
#11472 FP returnTempReference with cast and scope operator ( #4676 )
2023-01-02 22:13:56 +01:00
chrchr-github
2007cd0a1d
Fix #11465 FP returnDanglingLifetime/returnTempreference with typeid ( #4675 )
2023-01-02 17:46:03 +01:00
chrchr-github
f793b7dd35
Fix #11460 unintvar false positive ( #4674 )
...
* Fix #11460 unintvar false positive
* Format
2023-01-02 17:44:52 +01:00
chrchr-github
11f1a9d1f5
Fix crash on ternary with omitted operand ( #4673 )
...
* Fix MSVC compiler warning
* Fix crash on incomplete ternary operator
* Revert "Fix crash on incomplete ternary operator"
This reverts commit 28df0f0ab6ff794e733617447f847a97c1a7a609.
* Handle ternary with omitted operand
2023-01-02 17:44:17 +01:00
Oliver Stöneberg
0c95971c54
added .gitattributes and normalized files ( #4668 )
2022-12-30 21:33:45 +01:00
Oliver Stöneberg
d3a2cdc26c
converted (undocumented) define `MAXTIME` into (undocumented) command-line options `--checks-max-time=`, `--template-max-time=` and `--typedef-max-time=` ( #4661 )
2022-12-30 21:21:05 +01:00
Oliver Stöneberg
71cdacdc97
fixed missing location for `valueFlowMaxIterations` debug warning / also added it to daca server overview ( #4664 )
2022-12-30 21:20:00 +01:00
Oliver Stöneberg
1cfe49e340
use `const_iterator` where possible ( #4662 )
2022-12-30 15:13:47 +01:00
Oliver Stöneberg
b380fd2589
added command-line option `--valueflow-max-iterations` to control amount of valueflow iterations / also log debug warning when iterations are being exceeded ( #4557 )
2022-12-20 20:51:08 +01:00
Oliver Stöneberg
3c68b9b29f
use `cbegin()` and `cend()` with `const_ierator` loops ( #4658 )
2022-12-20 20:32:16 +01:00
Paul Fultz II
f8132ea022
Fix 11381: FP derefInvalidIteratorRedundantCheck when updating iterator using std::tie ( #4659 )
2022-12-20 20:29:19 +01:00
chrchr-github
7506b4ab52
Fix #11441 FP variableScope when lambda is used ( #4660 )
2022-12-20 14:50:31 +01:00
chrchr-github
ad858e92dc
Partial fix for #11444 cppcheckError: Analysis failed (function not recognized) ( #4656 )
2022-12-19 22:29:43 +01:00
Paul Fultz II
da32c5aecd
Fix 11442: new "Reference to temporary returned." FPs ( #4657 )
2022-12-19 22:28:59 +01:00
Oliver Stöneberg
6fedbb4f77
add/preserve `const` in `dynamic_cast` ( #4655 )
2022-12-19 20:01:12 +01:00
Paul Fultz II
9da574f4a0
Fix 11227: ValueFlow: Known value not set in condition for ternary operator ( #4653 )
...
* Evaluate args before function call
* Fix tests
* Format
* Add test for 11227
* Format
* Fix known condition
2022-12-18 22:07:43 +01:00
Oliver Stöneberg
dc5c5de10e
avoid some unnecessary copies ( #4589 )
2022-12-18 19:38:29 +01:00
chrchr-github
76c28073aa
Revert fix for #10831 ( #4631 )
2022-12-18 16:55:55 +01:00
chrchr-github
617cd29a41
Get type from auto ( #4640 )
2022-12-18 16:54:58 +01:00
chrchr-github
b1abaf8809
Fix FP useStlAlgorithm (don't suggest std::accumulate when nothing is accumulated) ( #4647 )
2022-12-18 16:52:04 +01:00
gerboengels
63e30d1b8c
Fix syntaxError on lambda inside decltype ( #4650 )
...
Use case where it gave an issue:
using customComparator = decltype([] (const X& lhs, const X& rhs) { return lhs.CompareTo(rhs); });
std::map<X, int, costomComparator> m;
Co-authored-by: Gerbo Engels <gerbo.engels@ortec-finance.com>
2022-12-18 16:46:04 +01:00
Daniel Marjamäki
7799f820a3
Refactoring: Use static for local function getMinMaxValues
2022-12-17 21:21:18 +01:00
Daniel Marjamäki
c736d60642
Fix Misra C++ warning 'Limited dependence should be placed on C++ operator precedence rules in expressions.'
2022-12-17 20:45:58 +01:00
chrchr-github
4c8aa56d8b
Partial fix for #11378 internalAstError regressions (iscpp11init) ( #4629 )
...
* Partial fix for #11378 internalAstError regressions (iscpp11init)
* Use %cop%
* Add test for #11229
* Format
* Format
2022-12-16 10:46:15 +01:00
Paul Fultz II
9c55b933c1
Partial fix for 11303: False negative: knownConditionTrueFalse using container .back() ( #4633 )
...
* Partial fix for 11303: False negative: knownConditionTrueFalse using container .back()
* Format
* Fix error message
2022-12-15 18:35:19 +01:00
Paul Fultz II
90898945c1
Fix 10532: False negative: dangling string_view when using ternary operator ( #4638 )
...
* Fix 10532: False negative: dangling string_view when using ternary operator
* Format
* Update
2022-12-15 18:34:43 +01:00
chrchr-github
553b579f8d
Fix #11434 FP knownConditionTrueFalse with loop over bool array ( #4646 )
...
* Fix #11434 FP knownConditionTrueFalse with loop over bool array
* Simplify
2022-12-15 14:31:02 +01:00
chrchr-github
0c1e2ceeb9
Fix #11289 FP wrongPrintfScanfArgNum - snprintf with parameter pack ( #4644 )
2022-12-15 08:52:13 +01:00
chrchr-github
b7693ccc7a
Fix #11431 FP resourceLeak with goto ( #4645 )
2022-12-14 22:47:14 +01:00
Oliver Stöneberg
29e0133cb5
extracted `FwdAnalysis` from `astutils.{cpp|h}` ( #4637 )
...
* added missing filtering offiles in Visual Studio project
* extracted `FwdAnalysis` from `astutils.{cpp|h}`
2022-12-13 22:29:23 +01:00
Paul Fultz II
e2f398f81a
Fix 11250: FN: bufferAccessOutOfBounds (comma operator: int x = (3,4) ) ( #4636 )
...
* Fix 11250: FN: bufferAccessOutOfBounds (comma operator: int x = (3,4) )
* Format
2022-12-13 07:52:58 +01:00
Oliver Stöneberg
e01c463ff8
fixed #11428 - improved handling of suffixes in `MathLib::to{Double|ULong|Long}Number()` ( #4635 )
...
* fixed #11428 - improved handling of suffices in `MathLib::to{Double|ULong|Long}Number()`
* testmathlib.cpp: adjustments for `libc++`
* mathlib.cpp: added TODO
2022-12-13 07:52:45 +01:00
Paul Fultz II
b4d455df48
Fix 11349: FP negativeIndex for clamped array index ( #4627 )
...
* Fix 11349: FP negativeIndex for clamped array index
* Format
* Use emplace_back
* Use default constructor
2022-12-13 07:50:01 +01:00
chrchr-github
5b687cb038
Fix #11423 Crash in valueFlowForwardConst() ( #4634 )
2022-12-12 22:58:48 +01:00
chrchr-github
3f5054035d
Fix #11432 FP passedByValue for overriden function ( #4632 )
2022-12-12 21:52:58 +01:00
Daniel Marjamäki
7aae78fed3
Refactoring: Remove unused parameter for AnalyzerInfo::reportErr
2022-12-11 21:27:16 +01:00
Paul Fultz II
3f88744851
Fix 11358: FP containerOutOfBounds for container passed by pointer ( #4626 )
2022-12-09 19:43:21 +01:00
Oliver Stöneberg
40a69e5afb
optimized deserializing of `ErrorMessage` and related main process code ( #4610 )
2022-12-09 19:34:51 +01:00
Paul Fultz II
6eccb2e36c
Throw internal error when tokens are not in order ( #4623 )
...
* Throw internal error when tokens are not in order
* Add semicolon
2022-12-09 07:17:16 +01:00
Paul Fultz II
7acbb656f3
Fix 11412: False positive: uninitvar ( #4624 )
...
* Dont remove modified variables from dead code
* Add test for 11412
* Format
2022-12-09 07:15:47 +01:00
Paul Fultz II
c150317f02
Fix 11384: FP knownConditionTrueFalse when variable is modified in return statement ( #4625 )
...
* Fix 11384: FP knownConditionTrueFalse when variable is modified in return statement
* Format
2022-12-09 07:15:15 +01:00
chrchr-github
c779cefa61
Fix #11422 debug: Missing variable class for variable with varid ( #4616 )
2022-12-08 20:17:06 +01:00
Paul Fultz II
0cb742701d
Fix 11415: FP containerOutOfBounds for container initialized in virtual method ( #4622 )
2022-12-08 20:10:58 +01:00
chrchr-github
04b7c0c200
Fix #11404 FP knownConditionTrueFalse with iterator ( #4619 )
...
* Fix wrong value set in valueFlowSameExpressions()
* Fix #11404 FP knownConditionTrueFalse with iterator
2022-12-08 10:40:55 +01:00
Paul Fultz II
663a8411dd
Fix 11416: FP nullPointerRedundantCheck for check after loop with break ( #4620 )
2022-12-08 07:27:06 +01:00
Oliver Stöneberg
4103d05c7f
improved `ErrorMessage::deserialize()` error messages ( #4617 )
2022-12-07 18:00:45 +01:00
chrchr-github
8713dabe58
Get type from iterator ( #4613 )
2022-12-07 09:38:36 +01:00
Oliver Stöneberg
8bb5ac0efd
improved `MathLib::to{ULong|Long|Double}Number()` and increased test coverage / added CMake option `USE_LIBCXX` / fixed #10695 ( #4611 )
2022-12-07 09:20:09 +01:00
chrchr-github
89dba226dd
Fix #11305 FP uninitvar with unseen typedef ( #4612 )
2022-12-07 09:14:22 +01:00
chrchr-github
0e57c27dd3
Fix #11386 debug: CheckClass::checkConst found unlinked template argument list ( #4614 )
2022-12-07 09:12:46 +01:00
chrchr-github
d5d7446433
Add cfg for std::scoped_lock, handle template arguments in checkMisusedScopedObject() ( #4615 )
2022-12-07 09:10:48 +01:00
Oliver Stöneberg
7d3ce62ee9
improved errorhandling related to deserializing `ErrorMessage` ( #4604 )
2022-12-03 15:44:33 +01:00
chrchr-github
0854fda28a
Get type from smartpointer ( #4608 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
* Get type from 'auto p = new ...'
* Fix merge
* Add test for recent fix
* Format
* Get type from smartpointer
2022-12-03 07:50:21 +01:00
chrchr-github
7d6683fb78
Fix #11417 FP knownConditionTrueFalse with container and brace init ( #4606 )
...
* Fix #11417 FP knownConditionTrueFalse with container and brace init
* Format
* Format
* Move to getInitListSize()
2022-12-02 22:07:08 +01:00
chrchr-github
e4ee7cd59c
Get type from 'auto p = new ...' ( #4607 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
* Get type from 'auto p = new ...'
* Fix merge
2022-12-02 20:28:14 +01:00
chrchr-github
9efedd6be9
Fix #11223 checkLibraryFunction treats "auto" as type ( #4605 )
...
* Fix #11223 checkLibraryFunction treats "auto" as type
* Use utility function
2022-12-02 07:21:33 +01:00
chrchr-github
428f5016d4
Partial fix for #11378 (iscpp11init) ( #4595 )
...
* Partial fix for #11378 (iscpp11init)
* Improve fix
* Add fix
2022-11-27 09:26:46 +01:00
chrchr-github
665e4230f2
Fix #11406 FP returnDanglingLifetime, std::unique_ptr and implicit conversion to bool ( #4600 )
2022-11-27 09:24:19 +01:00
chrchr-github
4cb49013a7
Fix #11374 FP danglingTemporaryLifetime with std::string_view ( #4602 )
2022-11-27 09:22:55 +01:00
Rikard Falkeborn
52264b9c26
Fix #11401 nullpointer dereference with alignof ( #4601 )
...
* checknullpointer: Don't report dereference with alignof
* Refactor unevaluating operator check in checknullpointer
Unifying these ensures the different checks treat the operators the
same.
* Fix FP with _Alignof and null pointer
Just like alignof, _Alignof does not evaluate its operand.
* CheckNullPointer: Also support compiler specific alignof
This fixes #11401 which is about __alignof__. For good measure, also add
the microsoft extensions __alignof and _alignof.
2022-11-27 09:20:19 +01:00
Rikard Falkeborn
8465d901c8
Fix 11396, doublefree on munmap in if-statement ( #4594 )
2022-11-26 15:45:27 +01:00
Stefan van Kessel
a5c16af16d
Fix lambda capture template syntax error ( #4593 )
2022-11-23 20:15:10 +01:00
chrchr-github
68acd77053
Fix #11361 FP ctuPointerArith with unknown buffer size ( #4591 )
2022-11-23 19:11:47 +01:00
Daniel Marjamäki
ad8c1e26f0
dump: output language to dumpfile
2022-11-20 12:30:09 +01:00
chrchr-github
9f50611a44
Fix #11391 FP doubleFree with goto ( #4587 )
2022-11-19 16:49:34 +01:00
chrchr-github
80aa6dc1d9
Fix #11392 FP mismatchAllocDealloc with std::unique_ptr and custom deleter ( #4585 )
2022-11-18 19:45:25 +01:00
gerboengels
3fdba645a6
Improve fix for #11383 FP selfAssignment: lambda capture ( #4584 )
2022-11-18 19:44:32 +01:00
chrchr-github
4ce76d0b58
Fix #11385 debug: SymbolDatabase::findFunction found '>' without link. ( #4583 )
2022-11-14 21:08:15 +01:00
chrchr-github
e3939d32d0
Fix crash on nullptr ( #4582 )
...
* Update tokenlist.cpp
* Update testincompletestatement.cpp
* Fix #11370 FP constStatement with lambda
* Format
* Fix crash on nullptr
* Emit syntax error
* Fix test
* Use strAt()
* Fix another crash on nullptr
* Update testconstructors.cpp
* Fix crash on nullptr
* Fix test
2022-11-13 23:04:51 +01:00
chrchr-github
701d381895
Fix #11383 FP selfAssignment: lambda capture / #11380 FP operatorEqRetRefThis ( #4581 )
...
* Fix #11383 FP selfAssignment: lambda capture / #11380
FP operatorEqRetRefThis
* Format
2022-11-13 21:20:44 +01:00
Daniel Marjamäki
8aec886450
runformat
2022-11-12 22:36:26 +01:00
chrchr-github
e8b37235d6
Fix #11378 internalAstError regressions (iscpp11init) ( #4580 )
2022-11-12 22:25:05 +01:00
Daniel Marjamäki
8fb8e06003
SymbolDatabase: Set valuetype for this
2022-11-12 22:23:42 +01:00
Daniel Marjamäki
15d3e510e1
ValueFlow: throw TerminateException in valueFlowGenericForward in case analysis is terminated
2022-11-12 12:47:54 +01:00