Oliver Stöneberg
dd869cf808
added CMake option `EXTERNALS_AS_SYSTEM` to treat external includes as `SYSTEM` ones ( #5386 )
...
Although these files are part of our repo changes are being done via
their original projects so it might make sense to treat these as system
includes for some people instead of local ones.
Co-authored-by: Daniel Marjamäki <daniel.marjamaki@gmail.com>
2024-01-03 11:05:32 +01:00
chrchr-github
8d64d12e5d
Fix #12252 Regression: constParameterPointer ( #5819 )
2024-01-02 20:07:35 +01:00
chrchr-github
d9d23d979d
Partial fix for #12302 internalAstError using lambda ( #5816 )
2024-01-02 13:33:22 +01:00
Paul Fultz II
4d9e69e42c
Fix 11985: False positive: uninitvar (valueflow) ( #5781 )
2023-12-27 18:11:57 +01:00
thingsconnected
403e7f1f7d
lib/addoninfo.cpp: When loading a JSON addon, test 'script' key. ( #5797 )
...
In case a user accidentally uses a wrong JSON file (e.g. naming.json,
which is the config file for namingng.py), the code could give a
confusing exception. This happens when the key 'script' is not defined
as a string.
This is solved by testing the key for existence and type. In case
'script' is not a key or refers to a type other than a string, a clear
error is given, stating for example: 'Loading naming.json failed. script
must be set to a string value.'
The message is kept in line with other messages. Maybe it can be
clarified further, e.g. 'Loading naming.json failed. A key "script" must
be set with a string value referring to a Python script.' - in which
case the errors relating to other keys may also be clarified.
2023-12-25 05:49:17 +01:00
chrchr-github
a7baf88d4f
Fix #12289 FN (regression): memory leak not shown when strcpy is used ( #5809 )
2023-12-24 14:42:07 +01:00
olabetskyi
e553940e23
#12158 : improve check: variableScope is not reported when there is el… ( #5758 )
...
variableScope is not reported when there is else if
2023-12-24 14:01:01 +01:00
chrchr-github
17ee4093fa
Fix #10905 , #11665 FN deallocuse ( #5751 )
2023-12-23 11:31:27 +01:00
Paul Fultz II
7f0234e7d5
Fix 12032: False positive: uninitialized variable, flags with same value ( #5754 )
2023-12-23 10:57:40 +01:00
Paul Fultz II
77157a678a
Fix 12033: false negative: uninitialized data passed as const data to function ( #5747 )
2023-12-23 10:55:39 +01:00
Daniel Marjamäki
948f822943
2.13: Update copyright year [ci skip] ( #5785 )
2023-12-20 21:41:58 +01:00
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