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
Eric Sesterhenn
3b1c701766
fix casing in variable name ( #5778 )
...
The attribute movedValue is misspelled with an uppercase V, this leads
to errors when printing token values:
```
$ python3 runaddon.py test.py test.c.dump
Checking test.c.dump...
Checking test.c.dump, config ...
line 2 str=""lala\n""
Traceback (most recent call last):
File "/home/eric/tools/cppcheck/addons/runaddon.py", line 11, in <module>
cppcheck.runcheckers()
File "/home/eric/tools/cppcheck/addons/cppcheck.py", line 39, in runcheckers
c(cfg, data)
File "test.py", line 9, in func
print(f' {value}')
File "/home/eric/tools/cppcheck/addons/cppcheckdata.py", line 907, in __repr__
", ".join(("{}={}".format(a, repr(getattr(self, a))) for a in attrs))
File "/home/eric/tools/cppcheck/addons/cppcheckdata.py", line 907, in <genexpr>
", ".join(("{}={}".format(a, repr(getattr(self, a))) for a in attrs))
AttributeError: 'Value' object has no attribute 'movedValue'
```
2023-12-18 18:57:08 +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
34fb24d5a9
tools/extracttests.py: test code was not extracted properly for some tests ( #5776 )
2023-12-17 20:04:17 +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
1c7036f174
daca@home: update client version [ci skip] ( #5774 )
2023-12-17 16:38:52 +01:00
Daniel Marjamäki
e7d0bb0009
daca@home: If cppcheck binary does not handle --unsafe-exitcode then execute without it [ci skip] ( #5773 )
2023-12-17 16:33:00 +01:00
Daniel Marjamäki
150ca20404
daca@home: use --unsafe-exitcode ( #5772 )
...
the daca script will think that analysis crashed otherwise.
2023-12-17 16:11:38 +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
olabetskyi
7191ed92b9
#12263 : Constant Error 'missingInclude' ( #5769 )
...
Small adjustment of the log of the error.
- printed only when there was `--enabled=information` and no mentioning
of `missingInclude`
2023-12-16 18:38:30 +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
1135520aa8
run more tests in sanitizer workflows ( #5744 )
2023-12-16 17:03:03 +01:00
Daniel Marjamäki
22613dc7fb
Fixed #12267 (Misra.py: crashes in 17.7 checker when there is macro in variable declaration) ( #5768 )
2023-12-15 22:53:19 +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
olabetskyi
42547aac9e
REOPENED #12260 (false positive: unusedVariable with side effects in member initialization) ( #5764 )
2023-12-15 11:35:55 +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
Oliver Stöneberg
fcb41e2533
small cleanup of handling of ignored paths ( #5757 )
2023-12-14 16:55:42 +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
Daniel Marjamäki
bc5023775d
Partial fix for #12254 (cppcheck.cfg can't be loaded from relative paths anymore) ( #5760 )
2023-12-13 06:53:03 +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
faafd93b89
createrelease: get_checkers.py should be executed before a release [ci skip] ( #5750 )
2023-12-11 16:27:54 +01:00
Oliver Stöneberg
7c456ac1f7
updated releasenotes.txt [skip ci] ( #5702 )
2023-12-11 15:40:14 +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
chrchr-github
233e27b579
Add tests for #8399/#10646/#10833 ( #5743 )
2023-12-09 00:36:55 +01:00
Oliver Stöneberg
7452e681dd
fixed #12221 - de-duplicate input source files (regression) ( #5740 )
2023-12-08 22:17:22 +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
f5109df632
Add tests for #9822/#9823 ( #5742 )
2023-12-08 21:20:10 +01:00
chrchr-github
735831fc54
Update releasenotes.txt [skip ci] ( #5741 )
2023-12-08 18:30:56 +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
Daniel Marjamäki
c0a99274c8
createrelease: ensure that safety critical issues are listed in release notes [ci skip] ( #5735 )
2023-12-07 14:24:03 +01:00
chrchr-github
785c537ca2
Add tests for #4527 , #10330 ( #5734 )
2023-12-07 12:16:53 +01:00
Oliver Stöneberg
453800211c
testrunner: make sure that more redirects/outputs are actually being consumed ( #5721 )
2023-12-06 22:01:00 +01:00
chrchr-github
613bbe7674
Fix #12249 Assert failure in ExpressionAnalyzer ( #5731 )
2023-12-06 20:04:20 +01:00
Oliver Stöneberg
3fc62ce10b
fixed #12227 - properly load addons from `cppcheck.cfg` in GUI ( #5716 )
...
The GUI was asserting when addons were specified in the `cppcheck.cfg`
since we did not generate the info for them.
2023-12-06 19:45:30 +01:00
chrchr-github
6aa3478243
Add test for #11534 ( #5732 )
2023-12-06 18:11:31 +01:00
Oliver Stöneberg
5761e55a67
avoid `const_cast` usage in headers ( #5720 )
2023-12-06 14:15:35 +01:00
Daniel Marjamäki
007b5cf8b8
philosophy.md: minor tweaks. add section about usability. [ci skip] ( #5730 )
2023-12-06 11:13:42 +01:00