cppcheck/lib
Dirk Mueller 76695f6be2
Fix #12272 (removeContradiction() Avoid use-after-free on multiple remove) (#5707)
As reported in
https://sourceforge.net/p/cppcheck/discussion/general/thread/fa43fb8ab1/
removeContradiction() minValue/maxValue.remove(..) can access free'd
memory as it removes all matching values by iterating over the complete
list. Creating a full copy instead of a reference avoids this issue.

Signed-off-by: Dirk Müller <dirk@dmllr.de>
2023-12-19 20:44:22 +01:00
..
CMakeLists.txt fixed #11925 (build slowest files first) (#5419) 2023-09-11 20:22:07 +02:00
addoninfo.cpp cleaned up includes based on include-what-you-use (#5532) 2023-10-09 10:07:20 +02:00
addoninfo.h generate `AddonInfo` only once (#4958) 2023-10-08 21:28:57 +02:00
analyzer.h CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
analyzerinfo.cpp added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
analyzerinfo.h extracted `FileSettings` from `ImportProject` to `filesettings.h` (#5604) 2023-11-02 17:42:41 +01:00
astutils.cpp Fix #12235 performance regression (hang) in 2.13dev (#5715) 2023-12-15 11:01:08 +01:00
astutils.h Fix 12031: False positive: uninitialized variable (#5637) 2023-12-10 19:42:35 +01:00
calculate.h fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
check.cpp Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
check.h removed unnecessary encapsulation of severity enum and made it an `enum class` (#5541) 2023-10-12 11:58:39 +02:00
check64bit.cpp fixed some "Declarator is never used" Rider warnings (#5535) 2023-10-09 18:06:35 +02:00
check64bit.h cleaned up access of the check classes (#5387) 2023-09-11 11:12:42 +02:00
checkassert.cpp fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
checkassert.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkautovariables.cpp Fix #12173 FP danglingTempReference with loop over init list (#5652) 2023-11-12 10:19:45 +01:00
checkautovariables.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkbool.cpp Partial fix for #11897 (Safety: show what checks are enabled/disabled) (#5372) 2023-08-29 12:00:52 +02:00
checkbool.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkboost.cpp Update copyright year 2023-09-06 15:51:05 +02:00
checkboost.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkbufferoverrun.cpp fixed #12108 - Crash in `CTU::FileInfo::getErrorPath()` with Clang-built binary (#5746) 2023-12-14 17:44:09 +01:00
checkbufferoverrun.h removed the need for `Check` object in `CTU::getUnsafeUsage()` callback / some CheckUninitVar cleanups (#5610) 2023-11-03 18:27:11 +01:00
checkclass.cpp fixed #12108 - Crash in `CTU::FileInfo::getErrorPath()` with Clang-built binary (#5746) 2023-12-14 17:44:09 +01:00
checkclass.h moved `MyFileInfo` definitions into source files (#4697) 2023-10-21 16:58:29 +02:00
checkcondition.cpp CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
checkcondition.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkers.cpp Update tools/get_checkers.py and lib/checkers.cpp (#5749) 2023-12-11 15:18:19 +01:00
checkers.h CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
checkersreport.cpp cleaned up includes based on include-what-you-use (#5532) 2023-10-09 10:07:20 +02:00
checkersreport.h CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
checkexceptionsafety.cpp fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
checkexceptionsafety.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkfunctions.cpp MathLib: renamed `to{U}LongNumber()` to `toBig{U}Number()` (#5503) 2023-10-05 19:21:42 +02:00
checkfunctions.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkinternal.cpp fixed "Redundant dereferencing and tasking address expression" Rider warnings (#5563) 2023-10-16 14:09:03 +02:00
checkinternal.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkio.cpp Fix #12236 FP related to decltype/__typeof__ (#5717) 2023-12-04 11:19:49 +01:00
checkio.h iwyu.yml: made `include-what-you-use` output more verbose / cleaned up includes (#5540) 2023-10-16 12:57:49 +02:00
checkleakautovar.cpp Fix #2767 FP resourceLeak (regression) / #12248 FP memleak / #12204 FP memleak (#5723) 2023-12-06 10:17:32 +01:00
checkleakautovar.h Don't report checkLibraryUseIgnore for known functions (refs #7719) (#5664) 2023-11-16 14:23:08 +01:00
checkmemoryleak.cpp added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
checkmemoryleak.h iwyu.yml: made `include-what-you-use` output more verbose / cleaned up includes (#5540) 2023-10-16 12:57:49 +02:00
checknullpointer.cpp fixed #12108 - Crash in `CTU::FileInfo::getErrorPath()` with Clang-built binary (#5746) 2023-12-14 17:44:09 +01:00
checknullpointer.h moved `MyFileInfo` definitions into source files (#4697) 2023-10-21 16:58:29 +02:00
checkother.cpp Fix #9684 New check: find unnecessary copy in range loop (#5738) 2023-12-08 16:58:43 +01:00
checkother.h Fix #9684 New check: find unnecessary copy in range loop (#5738) 2023-12-08 16:58:43 +01:00
checkpostfixoperator.cpp fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
checkpostfixoperator.h cleaned up access of the check classes (#5387) 2023-09-11 11:12:42 +02:00
checksizeof.cpp fixed some "Declarator is never used" Rider warnings (#5535) 2023-10-09 18:06:35 +02:00
checksizeof.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkstl.cpp Partial fix for #11469 FP mismatchingContainerExpression warning (#5674) 2023-11-17 17:12:38 +01:00
checkstl.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkstring.cpp fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
checkstring.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checktype.cpp fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
checktype.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
checkuninitvar.cpp fixed #12108 - Crash in `CTU::FileInfo::getErrorPath()` with Clang-built binary (#5746) 2023-12-14 17:44:09 +01:00
checkuninitvar.h removed the need for `Check` object in `CTU::getUnsafeUsage()` callback / some CheckUninitVar cleanups (#5610) 2023-11-03 18:27:11 +01:00
checkunusedfunctions.cpp use more granular suppressions in selfcheck and prefer inline suppressions (#5703) 2023-12-01 15:59:01 +01:00
checkunusedfunctions.h fixed #11483 (FN unusedFunction for method with inline implementation) (#5457) 2023-09-20 14:45:44 +02:00
checkunusedvar.cpp Fixed #12260 (false positive: unusedVariable with side effects in member initialization) (#5762) 2023-12-14 15:16:30 +01:00
checkunusedvar.h cleaned up access of the check classes (#5387) 2023-09-11 11:12:42 +02:00
checkvaarg.cpp cleaned up includes based on include-what-you-use (#5532) 2023-10-09 10:07:20 +02:00
checkvaarg.h adjusted tests to reduce the amount of `friend` declarations necessary (#5435) 2023-09-11 20:26:22 +02:00
clangimport.cpp Fix #12251 internalError while cppcheck tries to parse Clang AST (#5755) 2023-12-12 20:47:58 +01:00
clangimport.h LCppC backports: Refactorizations/Optimizations (#4204) 2022-08-21 17:21:02 +02:00
color.cpp do not pass POD types by reference (based on clazy `function-args-by-value` check) (#5388) 2023-09-11 20:40:39 +02:00
color.h do not pass POD types by reference (based on clazy `function-args-by-value` check) (#5388) 2023-09-11 20:40:39 +02:00
config.h config.h: improved and cleaned up some preprocessor checks (#5663) 2023-11-15 15:31:12 +01:00
cppcheck.cpp Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
cppcheck.h aligned and optimized unique error handling (#5280) 2023-12-17 21:59:06 +01:00
cppcheck.natvis added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
cppcheck.vcxproj added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
cppcheck.vcxproj.filters Fix #11897 (Safety: show what checks are enabled/disabled) (#5378) 2023-08-31 18:28:47 +02:00
ctu.cpp added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
ctu.h removed the need for `Check` object in `CTU::getUnsafeUsage()` callback / some CheckUninitVar cleanups (#5610) 2023-11-03 18:27:11 +01:00
errorlogger.cpp aligned and optimized unique error handling (#5280) 2023-12-17 21:59:06 +01:00
errorlogger.h removed unnecessary encapsulation of severity enum and made it an `enum class` (#5541) 2023-10-12 11:58:39 +02:00
errortypes.cpp Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
errortypes.h Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
filesettings.h extracted `FileSettings` from `ImportProject` to `filesettings.h` (#5604) 2023-11-02 17:42:41 +01:00
findtoken.h Fix 11983: False positive: uninitialized variable (#5443) 2023-09-13 23:27:08 +02:00
forwardanalyzer.cpp Fix #10572 FP nullPointerRedundantCheck with try/catch / #10701 FP knownConditionTrueFalse with nested try/catch (#5761) 2023-12-13 19:22:54 +01:00
forwardanalyzer.h Update copyright year 2023-06-21 19:58:11 +02:00
fwdanalysis.cpp use more granular suppressions in selfcheck and prefer inline suppressions (#5703) 2023-12-01 15:59:01 +01:00
fwdanalysis.h fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
importproject.cpp more cleanups in handling of ignored files (#5767) 2023-12-16 21:04:45 +01:00
importproject.h extracted `FileSettings` from `ImportProject` to `filesettings.h` (#5604) 2023-11-02 17:42:41 +01:00
infer.cpp moved some classes/structs into anonymous namespace (#5669) 2023-11-16 15:49:41 +01:00
infer.h moved some classes/structs into anonymous namespace (#5669) 2023-11-16 15:49:41 +01:00
json.h gui/mainwindow.cpp: use picojson to generate JSON / updated picojson to latest dev version (#5710) 2023-12-05 19:02:18 +01:00
keywords.cpp iwyu.yml: made `include-what-you-use` output more verbose / cleaned up includes (#5540) 2023-10-16 12:57:49 +02:00
keywords.h added clean C/C++ keyword lists and use them in `TokenList` (#3774) 2023-02-24 21:43:27 +01:00
lib.pri added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
library.cpp use more granular suppressions in selfcheck and prefer inline suppressions (#5703) 2023-12-01 15:59:01 +01:00
library.h Fix #12087 Library: add Container::Action::FIND_CONST (#5579) 2023-10-20 21:22:06 +02:00
matchcompiler.h Update copyright year 2023-09-06 15:51:05 +02:00
mathlib.cpp MathLib: renamed `to{U}LongNumber()` to `toBig{U}Number()` (#5503) 2023-10-05 19:21:42 +02:00
mathlib.h MathLib: renamed `to{U}LongNumber()` to `toBig{U}Number()` (#5503) 2023-10-05 19:21:42 +02:00
path.cpp fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
path.h Fix #12083 FN passedByValue with usage in ternary (#5575) 2023-10-31 16:12:38 +01:00
pathanalysis.cpp iwyu.yml: made `include-what-you-use` output more verbose / cleaned up includes (#5540) 2023-10-16 12:57:49 +02:00
pathanalysis.h Update copyright year 2023-06-21 19:58:11 +02:00
pathmatch.cpp more cleanups in handling of ignored files (#5767) 2023-12-16 21:04:45 +01:00
pathmatch.h enabled and fixed `modernize-pass-by-value` clang-tidy warnings (#4169) 2022-07-28 22:51:45 +02:00
pcrerules.pri
platform.cpp added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
platform.h refs #11928 / refs #10045 / fixes #11794 - generate `limits.h`/`climits` defines from platform (#5414) 2023-10-21 17:21:12 +02:00
precompiled.h Update copyright year 2023-06-21 19:58:11 +02:00
preprocessor.cpp Fix #12272 (removeContradiction() Avoid use-after-free on multiple remove) (#5707) 2023-12-19 20:44:22 +01:00
preprocessor.h Update copyright year 2023-06-21 19:58:11 +02:00
programmemory.cpp Fix assertion failure in evalSameCondition (#5770) 2023-12-16 19:27:26 +01:00
programmemory.h Fix 12031: False positive: uninitialized variable (#5637) 2023-12-10 19:42:35 +01:00
reverseanalyzer.cpp moved some classes/structs into anonymous namespace (#5669) 2023-11-16 15:49:41 +01:00
reverseanalyzer.h Update copyright year 2023-06-21 19:58:11 +02:00
settings.cpp Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
settings.h Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
smallvector.h Add missing rebinding trait to TaggedAllocator (complete #5015) (#5146) 2023-06-13 11:22:43 +02:00
sourcelocation.h config.h: improved and cleaned up some preprocessor checks (#5663) 2023-11-15 15:31:12 +01:00
standards.h enabled and mitigated `readability-const-return-type` clang-tidy warnings (#5644) 2023-11-24 18:45:48 +01:00
summaries.cpp fixed some "Variable can be made constexpr" Rider warnings (#5615) 2023-11-03 09:55:44 +01:00
summaries.h Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
suppressions.cpp Fixed #12281 (IDE plugin integration is broken by checkers report) (#5779) 2023-12-19 15:55:29 +01:00
suppressions.h Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
symboldatabase.cpp Fix #12258 Assert failure in setSymbolic() (#5759) 2023-12-12 22:37:33 +01:00
symboldatabase.h avoid `const_cast` usage in headers (#5720) 2023-12-06 14:15:35 +01:00
templatesimplifier.cpp avoid `const_cast` usage in headers (#5720) 2023-12-06 14:15:35 +01:00
templatesimplifier.h Fix Cert C++ warnings reported by Cppcheck Premium (#5528) 2023-10-09 11:20:56 +02:00
timer.cpp fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
timer.h fixed "Redundant elaborated type specifier" Rider warnings (#5517) 2023-10-08 09:10:17 +02:00
token.cpp Fix #12272 (removeContradiction() Avoid use-after-free on multiple remove) (#5707) 2023-12-19 20:44:22 +01:00
token.h avoid `const_cast` usage in headers (#5720) 2023-12-06 14:15:35 +01:00
tokenize.cpp Fix #12218: class and union (#5705) 2023-12-01 10:03:43 +01:00
tokenize.h Tokenizer: moved `VariableMap` into anonymous namespace (#5686) 2023-11-21 11:35:17 +01:00
tokenlist.cpp moved some classes/structs into anonymous namespace (#5669) 2023-11-16 15:49:41 +01:00
tokenlist.h moved `TokensFrontBack` from `token.h` to `tokenlist.h` (#5547) 2023-10-21 09:14:25 +02:00
tokenrange.h Update copyright year 2023-01-28 10:16:34 +01:00
utils.cpp iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
utils.h Fix 12031: False positive: uninitialized variable (#5637) 2023-12-10 19:42:35 +01:00
valueflow.cpp Fix #11741 FP knownConditionTrueFalse minus/negation confuses check (#5766) 2023-12-16 17:03:56 +01:00
valueflow.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
valueptr.h enabled and mitigated `modernize-use-equals-default` clang-tidy warnings / removed unnecessary default destructors (#5335) 2023-08-16 17:13:36 +02:00
version.h CI: Add selfcheck using Cppcheck Premium. Activates Misra C++ 2008 and Cert C++ 2016 checkers. (#5623) 2023-11-06 15:31:47 +01:00
version.rc added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
vfvalue.cpp optimized `ProgramMemory` a bit (#5668) 2023-11-16 14:35:25 +01:00
vfvalue.h optimized `ProgramMemory` a bit (#5668) 2023-11-16 14:35:25 +01:00
xml.h added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00