Commit Graph

23084 Commits

Author SHA1 Message Date
Georgy Komarov 6bc13080ee
Simplify condition 2020-07-18 07:07:20 +03:00
Georgy Komarov 382f21a5c9
Fixed crash on garbage code: comparisson with an empty second operand
This will fix #9774.
2020-07-18 07:02:12 +03:00
Daniel Marjamäki 58638d7757 Bug hunting; Fix itc.py test 2020-07-17 13:20:31 +02:00
Daniel Marjamäki 2713474f56 Fixed Cppcheck warning 2020-07-17 12:25:06 +02:00
Daniel Marjamäki 7a4e6daecd Fix import GUI project problem 2020-07-17 11:26:03 +02:00
Daniel Marjamäki f2bd603bd3 Bug hunting; Fix TestBughuntingChecks 2020-07-17 11:02:46 +02:00
Daniel Marjamäki 592637af61 Bug hunting; Avoid uninit false positives with simple analysis 2020-07-17 09:05:38 +02:00
Daniel Marjamäki 9af288e1dd Fixed #9724 (GUI: The tags do not work anymore) 2020-07-16 23:03:54 +02:00
Paul 831690f89b Use parseDecl instead 2020-07-16 14:33:39 -05:00
Daniel Marjamäki b249d9be31 GUI: Refactor tags 2020-07-16 20:19:36 +02:00
Daniel Marjamäki 0632f86449 Bug hunting; avoid bailout false positives when constructor is called 2020-07-16 16:38:22 +02:00
Daniel Marjamäki bec78a0960 GUI: Adding suppression with cppcheckId; include all relevant fields 2020-07-16 16:36:55 +02:00
Daniel Marjamäki 9edbec8594 astyle formatting 2020-07-16 16:36:11 +02:00
Daniel Marjamäki 118e9eb3e2 Better handling of CppcheckID suppressions 2020-07-16 15:27:23 +02:00
Daniel Marjamäki 47ff29f1c8
Merge pull request #2708 from pfultz2/multi-mutex-lock
Handle FPs: mutexes being locked at different scopes
2020-07-16 08:35:05 +02:00
Daniel Marjamäki c02b39a3ba Use manual.css in manual 2020-07-15 21:57:49 +02:00
Simon Large dac72beb9e manual: add css style sheet 2020-07-15 21:56:27 +02:00
Simon Large a23d1ca692 manual.md: Reformatting lists 2020-07-15 21:49:25 +02:00
Daniel Marjamäki bdb08232d7 GUI: Fix suppression of multiple cppcheck ids 2020-07-15 20:55:51 +02:00
Paul 423dcfd005 Fix issue 9796: False positive: lifetime, pointer item is not deallocated by pop_back 2020-07-15 12:22:36 -05:00
orbitcowboy 4f83b3618c wxwidgets.cfg: Added support for more interfaces 2020-07-15 13:37:01 +02:00
Daniel Marjamäki 60399b9321 cppcheck-errors.rng: Update xml schema, cppcheck-id attribute was added 2020-07-15 13:06:17 +02:00
Daniel Marjamäki 6ab4f39f52 GUI: Suppress cppcheck-id 2020-07-15 13:03:07 +02:00
Daniel Marjamäki 260c53ba6f GUI: Write cppcheck-id in xml report 2020-07-15 07:59:05 +02:00
Daniel Marjamäki af0db3cc21 Add cppcheck-id for warnings. To start with it's a simple id that changes when file is changed. 2020-07-14 22:30:42 +02:00
Paul 1f74400f13 Merge branch 'revert-mutex-delete' into multi-mutex-lock 2020-07-14 13:05:14 -05:00
Paul 4373404238 Revert "Fixed #9795 (False positive: Local lock is not ineffective, mutex is locked in thread also.)"
This reverts commit 27841d6b81.
2020-07-14 13:04:59 -05:00
Daniel Marjamäki 62702a6816 GUI: Use const argument 2020-07-14 18:19:03 +02:00
Daniel Marjamäki a6d70b9022 Code cleanup, __temp__ files are not needed anymore 2020-07-14 16:54:00 +02:00
Daniel Marjamäki 8d6fd4769b Bug hunting; Terminating analysis 2020-07-14 11:22:42 +02:00
Daniel Marjamäki 176826a1f5 Bug hunting; Avoid false positives 2020-07-14 11:15:26 +02:00
Daniel Marjamäki fe324aea49 Bug hunting; Detect internal error and throw exception 2020-07-14 10:25:00 +02:00
Daniel Marjamäki 6030ab72ab Bug hunting; Avoid some bailout false positives in uninit checker 2020-07-14 08:12:40 +02:00
Daniel Marjamäki e0be224f4e
Merge pull request #2709 from pfultz2/fp-duplicate-cond-this
Fix FP of duplicateCondition when modifying the this variable
2020-07-13 21:14:58 +02:00
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
Paul 519f2a537a Format 2020-07-13 13:55:45 -05: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
Paul 450bdfedf3 Fix FP of duplicateCondition when modifying the this variable 2020-07-13 12:40:01 -05: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
Paul caabe56f14 Handle FPs: mutexes being locked at different scopes 2020-07-12 21:31:53 -05: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