Daniel Marjamäki
b2f463dd65
Merge pull request #2707 from Ken-Patrick/fp_pointer_expressions
...
Fix some false positives when the same expression at different places…
2020-07-13 20:59:22 +02:00
Daniel Marjamäki
33557012a1
Merge pull request #2706 from rikardfalkeborn/condition-fn-with-sizeof
...
Fix FN with known condition and sizeof
2020-07-13 20:54:25 +02:00
Daniel Marjamäki
cb221e970d
Bug hunting: Add test case for CVE-2019-12977. Passing uninitialized struct to function
2020-07-13 20:42:53 +02:00
Daniel Marjamäki
36b9e545ac
Bug hunting; more bailout warnings in uninit check
2020-07-13 20:23:44 +02:00
Daniel Marjamäki
8ba714373f
Merge pull request #2704 from rikardfalkeborn/9635-memleak-with-comma-operator-in-if-statement
...
Fix #9635 (FP: Memory leak with comma operator in if-statement)
2020-07-13 20:08:57 +02:00
Daniel Marjamäki
9ff8adcc40
GUI: Remove message box when saving results even though there are no results, to prevent problems with autosave
2020-07-13 12:31:59 +02:00
Daniel Marjamäki
4465d033f6
Bug hunting; When passing uninitialized data to unknown function it is inconclusive if that would be a problem for the function or not
2020-07-13 11:43:11 +02:00
Daniel Marjamäki
0009b4c8af
test/bug-hunting/cve.py: Add --slow argument to check slow packages
2020-07-13 11:18:51 +02:00
Ken-Patrick Lehrmann
61ccf888b3
Fix some false positives when the same expression at different places does not have the same value
...
Typically with
```
int F(int *f);
void F2(int *a, int *b) {
int c = *a;
F(a); // modifies *a
if (b && c != *a) {}
}
```
we would get the following FP:
```
[test.cpp:3] -> [test.cpp:5]: (style) The comparison 'c != *a' is always false because 'c' and '*a' represent the same value.\n
```
I guess it boils down to isSameExpression only checking that the
expression is the same (in the above case, "*a" and "*a" are indeed the
same), but there's not real check on the values.
So the patch here is a bit hackish, and we still have false negatives in
cases with dereferenced pointers.
2020-07-11 14:13:18 +02:00
Rikard Falkeborn
d8e7e9176b
Fix FN with known condition and sizeof
...
cppcheck behaved differently if sizeof was to the left or right of the
comparison. In order to fix this, we cannot break the while loop until
all operands have been processed.
2020-07-10 23:39:16 +02:00
Daniel Marjamäki
27841d6b81
Fixed #9795 (False positive: Local lock is not ineffective, mutex is locked in thread also.)
2020-07-10 19:24:45 +02:00
Rikard Falkeborn
5fa3d5304b
Run dmake ( #2705 )
2020-07-10 08:20:38 +02:00
Rikard Falkeborn
1e679cc5d1
Fix #9635 (FP: Memory leak with comma operator in if-statement)
...
When checking for comparisons in if-statements, if there are comma
operators in the if-statement, skip until after the last comma.
2020-07-09 21:31:43 +02:00
Daniel Marjamäki
0c6aabe444
Merge pull request #2703 from rikardfalkeborn/9652-fp-function-call-cast-config
...
Fix #9652 (fp memleak with function call with cast)
2020-07-08 15:10:41 +02:00
Daniel Marjamäki
e26f717f59
Merge pull request #2702 from rikardfalkeborn/9793-false-positive-lambda
...
Fix #9793 (false positive, memleak with lambda)
2020-07-08 15:09:14 +02:00
orbitcowboy
12033a33dc
wxwidgets.cfg: Added support for more interfaces
2020-07-08 13:36:54 +02:00
orbitcowboy
9b98ee4be5
wxwidgets.cfg: Added missing cont attribute
2020-07-08 13:25:16 +02:00
orbitcowboy
d973a5f8bc
wxwidgets.cfg: Added support for more interfaces
2020-07-08 13:24:07 +02:00
Rikard Falkeborn
4996ec190e
Fix #9652 (fp memleak with function call with cast)
...
When the first argument was (void *)(1), at the start of the second
iteration, arg was pointing to the "1", which caused problems for
nextArgument(), which saw the ")" as the next token and returned
nullptr, signalling that there are no more arguments.
Instead, save the first token in the argument, which makes
nextArgument() do the right thing.
2020-07-08 00:02:39 +02:00
Rikard Falkeborn
d5345052ab
Fix #9793 (false positive, memleak with lambda)
...
Skip scopes with lambdas (similar to how checkleakautovar does). In
order to fix this when the lambda is inside a for loop, make
hasInlineOrLambdaFunction() recursive. This should be what all existing
users want.
2020-07-07 21:51:36 +02:00
Daniel Marjamäki
6c90de0101
Merge pull request #2701 from anoymouserver/patch-1
...
qt.cfg: added namespace macros
2020-07-06 11:22:57 +02:00
anoy
24299544d4
qt.cfg: added namespace macros
2020-07-06 07:10:20 +02:00
orbitcowboy
5cb3aacf5a
wxwidgets.cfg: Added support for more interfaces
2020-07-04 22:33:34 +02:00
Daniel Marjamäki
14df79a53f
Travis: Use json.tool instead of jsonlint as there was some installation issues
2020-07-03 19:24:10 +02:00
Daniel Marjamäki
686a6c7862
Fixed compiler warning
2020-07-03 17:54:55 +02:00
Daniel Marjamäki
921997c9e9
itc.py; false negative is fixed
2020-07-03 17:50:56 +02:00
Daniel Marjamäki
d606eb5ed9
Bump simplecpp
2020-07-03 11:42:58 +02:00
Daniel Marjamäki
8ab305d3c9
Revert "Bump simplecpp"
...
This reverts commit eec622b515
.
2020-07-02 21:31:23 +02:00
Daniel Marjamäki
eec622b515
Bump simplecpp
2020-07-02 18:18:30 +02:00
orbitcowboy
25055cec62
windows.cfg: Added support for SystemParametersInfo()
2020-07-02 08:31:27 +02:00
orbitcowboy
cabafca5ae
windows.cfg: Added some constants from WinUser.h
2020-07-01 16:14:59 +02:00
orbitcowboy
8ab02ed97a
std.cfg: Improved bsearch() configuration
2020-07-01 15:06:00 +02:00
orbitcowboy
0770a6fe62
std.cfg: Added support for std::at_quick_exit()
2020-07-01 14:43:17 +02:00
orbitcowboy
27d6b9a57d
std.cfg: Formatted comments, there are no functional changes [ci skip]
2020-07-01 11:12:22 +02:00
orbitcowboy
4f191e455e
wxwidgets.cfg: Added support for more interfaces
2020-07-01 11:11:47 +02:00
Daniel Marjamäki
d2b2bae7bf
Fixed #7733 (False positive: scope of the variable can be reduced (variable is used in hidden code))
2020-07-01 08:24:52 +02:00
Daniel Marjamäki
f56a17bf3d
Fixed #8858 (FP: identicalConditionAfterEarlyExit when there is #if)
2020-07-01 07:48:32 +02:00
Daniel Marjamäki
ddd21a260f
Fixed #6978 (False positive: unusedLabel shown for labels that are used in some preprocessor configurations)
2020-06-30 18:26:24 +02:00
Daniel Marjamäki
0583763cc6
Fixed #3088 (False positive: Dont report "struct or union member is never used" for structs with __attribute__((packed)) or #pragma pack(push))
2020-06-30 11:00:40 +02:00
orbitcowboy
0f20506063
wxwidgets.cfg: Added support for more interfaces
2020-06-30 10:28:09 +02:00
orbitcowboy
f5d3e6fad1
wxwidgets.cfg: Added support for more interfaces
2020-06-30 10:21:52 +02:00
orbitcowboy
0bd44995aa
wxwidgets.cfg: Added support for more interfaces
2020-06-30 10:15:44 +02:00
Daniel Marjamäki
1567ccf97b
Merge pull request #2700 from pfultz2/afterConditionFunction
...
Extend scope of afterCondition until end of function
2020-06-30 08:28:08 +02:00
Paul
c76c03c711
Replace noreturn with macro
2020-06-29 15:54:51 -05:00
Paul
67e06c18a9
Use the already available function scope
2020-06-29 15:36:01 -05:00
Paul
a412e3e1f1
Mark syntax error functions as noreturn
2020-06-29 15:33:25 -05:00
Paul
600919f624
Remove redundant conditions
2020-06-29 15:13:06 -05:00
Daniel Marjamäki
f34ff9325a
Fixed testrunner
2020-06-29 21:53:14 +02:00
Daniel Marjamäki
a0770f05e1
Reuse 'extractForLoopValues' in ValueFlow
2020-06-29 21:01:43 +02:00
Paul
07d8cb4f01
Extend scope of afterCondition until end of function
2020-06-29 11:55:59 -05:00