Commit Graph

14869 Commits

Author SHA1 Message Date
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
Daniel Marjamäki 49da3e3821
Fixed #12281 (IDE plugin integration is broken by checkers report) (#5779) 2023-12-19 15:55:29 +01:00
Daniel Marjamäki 5aa1710dd0
Fix #12071 (Add safety mode that makes cppcheck more strict about critical errors) (#5777) 2023-12-18 18:26:23 +01:00
Oliver Stöneberg aa7629d969
aligned and optimized unique error handling (#5280)
The handling in `CppCheck::reportErr()` and `Executor::hasToLog()` was
slightly different. I hope this can somehow be shared after the executor
reworking.

We were also using a very inappropriate container for the error list
which caused a lot of overhead.

`-D__GNUC__ --debug-warnings --template=daca2 --check-library -j2
../test/testsymboldatabase.cpp`

Clang 15
main process  `284,218,587` -> `175,691,241`
worker process `9,123,697,183` -> `8,951,903,360`
2023-12-17 21:59:06 +01:00
Daniel Marjamäki 2932ab7592
Revert "Fixed #12071 (suppressing critical error, no indication to user that analysis of file fails) (#5771)" (#5775)
This reverts commit 7c316fb76d.
2023-12-17 19:13:14 +01:00
Daniel Marjamäki 7c316fb76d
Fixed #12071 (suppressing critical error, no indication to user that analysis of file fails) (#5771) 2023-12-17 15:42:17 +01:00
Oliver Stöneberg 086ceea333
fixed #12111 - memory leak with `-j2` and `--cppcheck-build-dir` (#5589) 2023-12-17 15:07:13 +01:00
Oliver Stöneberg f2622a673f
more cleanups in handling of ignored files (#5767) 2023-12-16 21:04:45 +01:00
Paul Fultz II ef27c29f27
Fix assertion failure in evalSameCondition (#5770) 2023-12-16 19:27:26 +01:00
chrchr-github 3329e2f633
Fix #11741 FP knownConditionTrueFalse minus/negation confuses check (#5766) 2023-12-16 17:03:56 +01:00
Oliver Stöneberg c79ec60bee
fixed #12264 - auto-detection of Python in Visual Studio built binaries when `python3.exe` does not exist (#5765)
I also suppressed the unwanted output from the `system()`.
2023-12-15 12:34:32 +01:00
chrchr-github 02fed7a266
Fix #12235 performance regression (hang) in 2.13dev (#5715)
Co-authored-by: chrchr-github <chrchr@github>
2023-12-15 11:01:08 +01:00
Oliver Stöneberg 61bbcbeeee
fixed #12108 - Crash in `CTU::FileInfo::getErrorPath()` with Clang-built binary (#5746)
This is actually just a workaround as it seems the issue is an upstream
Clang one.
2023-12-14 17:44:09 +01:00
olabetskyi 61127950b0
Fixed #12260 (false positive: unusedVariable with side effects in member initialization) (#5762)
revert old changes
2023-12-14 15:16:30 +01:00
Oliver Stöneberg d7835f199f
astutils.cpp: optimized `followAllReferences()` a bit (#5442)
Scanning `common/file.c` of the `xrdp` project with `--force --std=c11
--std=c++11 --inline-suppr --enable=warning`:

Clang 16 `4,208,373,435` -> `4,143,907,657`
Clang 16 (Boost) `3,837,285,621` -> `3,609,164,192`
GCC 13 `4,336,042,153` -> `4,331,137,034`
GCC 13 (Boost) `3,896,319,383` -> `3,795,013,995`
2023-12-13 21:08:22 +01:00
chrchr-github 8205b4a4b3
Fix #10572 FP nullPointerRedundantCheck with try/catch / #10701 FP knownConditionTrueFalse with nested try/catch (#5761) 2023-12-13 19:22:54 +01:00
chrchr-github b26b78b86d
Fix #12258 Assert failure in setSymbolic() (#5759) 2023-12-12 22:37:33 +01:00
chrchr-github 2c54f31bfe
Fix #12251 internalError while cppcheck tries to parse Clang AST (#5755) 2023-12-12 20:47:58 +01:00
chrchr-github 30e8814ecb
Fix #12255 Crash in executeMultiCondition() (#5752) 2023-12-11 17:15:21 +01:00
Daniel Marjamäki d695c6c766
Update tools/get_checkers.py and lib/checkers.cpp (#5749) 2023-12-11 15:18:19 +01:00
Paul Fultz II 243fa66bd3
Fix 12031: False positive: uninitialized variable (#5637) 2023-12-10 19:42:35 +01:00
Daniel Marjamäki 1af83ad821
Fix #12091 (False negative: Uninitialized variable read in subfunction (regression)) (#5739) 2023-12-08 21:54:23 +01:00
chrchr-github 1bdb7133e8
Fix #9684 New check: find unnecessary copy in range loop (#5738) 2023-12-08 16:58:43 +01:00
chrchr-github 7ac824f38a
Fix #12249 Assert failure in ExpressionAnalyzer (II) (#5733) 2023-12-08 14:46:20 +01:00
chrchr-github 77d8eaa2a1
Fix #12206 FN constParameterPointer with unknown const member (#5737) 2023-12-07 19:24:51 +01:00
chrchr-github 613bbe7674
Fix #12249 Assert failure in ExpressionAnalyzer (#5731) 2023-12-06 20:04:20 +01:00
Oliver Stöneberg 5761e55a67
avoid `const_cast` usage in headers (#5720) 2023-12-06 14:15:35 +01:00
chrchr-github 918eca635d
Fix #2767 FP resourceLeak (regression) / #12248 FP memleak / #12204 FP memleak (#5723) 2023-12-06 10:17:32 +01:00
Oliver Stöneberg 347b188726
gui/mainwindow.cpp: use picojson to generate JSON / updated picojson to latest dev version (#5710)
The lastest release of picojson does not support creation of JSONs, so
we need to switch to the current dev version.
2023-12-05 19:02:18 +01:00
Daniel Marjamäki 70745b527a
Fix #12210 (Cppcheck hang in SymbolDatabase::createSymbolDatabaseExprIds) (#5699) 2023-12-05 14:22:32 +01:00
chrchr-github 41e6c87cb2
Fix #12236 FP related to decltype/__typeof__ (#5717) 2023-12-04 11:19:49 +01:00
chrchr-github ae27b613ae
Fix #12239 FP memleak when passing this in allocation (#5719) 2023-12-02 14:15:10 +01:00
chrchr-github 55c2b75c2e
Fix #6933 FN uninitvar with POD struct and STL types (#5713)
Co-authored-by: chrchr-github <chrchr@github>
2023-12-01 17:42:27 +01:00
Oliver Stöneberg 3272a2bbe7
greatly improved `Settings::loadCppcheckCfg()` error handling (#5712)
This also fixes the issue that `cppcheck.cfg` is no longer being loaded
from executable path. That was introduced by #5704.
2023-12-01 16:34:14 +01:00
Oliver Stöneberg 4182f943aa
use more granular suppressions in selfcheck and prefer inline suppressions (#5703) 2023-12-01 15:59:01 +01:00
chrchr-github d6a1a657df
Fix #11796 FN memleak with brace init (#5708)
Co-authored-by: chrchr-github <chrchr@github>
2023-12-01 15:39:16 +01:00
Paul Fultz II 7e8ea5bcf9
Avoid evaluating conditions twice when there isnt a value to evaluate (#5711) 2023-12-01 11:34:36 +01:00
chrchr-github e2082267e2
Fix #12218: class and union (#5705)
Co-authored-by: chrchr-github <chrchr@github>
2023-12-01 10:03:43 +01:00
Oliver Stöneberg 5fed6e7dd9
json.h: suppress `-Wzero-as-null-pointer-constant` Clang warning (#5701) 2023-11-27 11:16:20 +01:00
Oliver Stöneberg f2461781fd
added `xml.h` wrapper for TinyXML2 / cleaned up suppressions of Clang compiler warnings (#5700) 2023-11-26 14:04:35 +01:00
chrchr-github 42a64d4d39
Fix #12218 syntaxError with typedef in namespace (#5694) 2023-11-25 22:59:51 +01:00
chrchr-github 33981fe42c
Fix #12214 FN constParameterReference / #12216 FP constParameterReference (#5691) 2023-11-25 22:58:16 +01:00
chrchr-github c1f6132745
Fix #12219 FP constParameterCallback for template argument (#5695) 2023-11-25 22:57:07 +01:00
Oliver Stöneberg 8e1ae7e412
CmdLineParser: various refactorings and cleanups as well as testing improvements (#5676) 2023-11-25 21:12:24 +01:00
Oliver Stöneberg 86bb7c98e4
enabled and mitigated `readability-const-return-type` clang-tidy warnings (#5644) 2023-11-24 18:45:48 +01:00
chrchr-github 331db40d3b
Revert recent changes in checkConstVariable(), add tests (refs #12203) (#5696) 2023-11-22 19:20:56 +01:00
chrchr-github 83b5cb5b2f
Fix #12203 false negative: constParameterReference when taking address (#5682) 2023-11-22 14:05:53 +01:00
Daniel Marjamäki 727d086dc4
Fix #12217 (misra 11.4: report conversion in macro) (#5692) 2023-11-22 12:47:48 +01:00
chrchr-github 8b6cbe2e9e
Fix crash in SymbolDatabase::addClassFunction() (f'up to #12209) (#5689) 2023-11-21 12:57:38 +01:00
Oliver Stöneberg 2b61c9ef2f
Tokenizer: moved `VariableMap` into anonymous namespace (#5686) 2023-11-21 11:35:17 +01:00