Daniel Marjamäki
e0738c48d2
simplify code
2019-07-24 11:40:51 +02:00
Daniel Marjamäki
10be2a1941
Safe checks: container parameters
2019-07-24 11:39:35 +02:00
orbitcowboy
377f6f29b5
wxwidgets.cfg: Added support for more functions from wxGCDC.
2019-07-24 11:33:02 +02:00
orbitcowboy
4fc15b3eb2
wxwidgets.cfg: Added support for more functions from wxGrid.
2019-07-24 11:30:35 +02:00
orbitcowboy
39bbe03974
wxwidgets.cfg: Added support for wxImage::AddHandler().
2019-07-24 11:24:36 +02:00
orbitcowboy
c2cf7b3f03
wxwidgets.cfg: Added support for members of wxLayoutAlgorithm-class.
2019-07-24 11:09:54 +02:00
Daniel Marjamäki
6c82685fbf
Fixed compiler warnings
2019-07-24 11:01:38 +02:00
orbitcowboy
3c1041a091
wxwidgets.cfg: Added support for wxDC::DrawEllipticArc().
2019-07-24 11:00:55 +02:00
Daniel Marjamäki
8959c5a9d0
Rename valueFlowAllFunctionParameterValues => valueFlowSafeFunctionParameterValues
2019-07-24 10:57:35 +02:00
orbitcowboy
b912c56fa0
wxwidgets.cfg: Added support for wxDC::DrawSpline().
2019-07-24 10:54:19 +02:00
fuzzelhjb
cc63728d6a
add support for CERT-API01-C check ( #1980 )
...
* add support for CERT-API01-C check
* remove extra ident and simplify check
2019-07-24 10:39:31 +02:00
Paul Fultz II
bb52a63c4e
Add check for const variables
...
When a local reference is declared, this will check if that local reference can be declared as `const`.
2019-07-24 09:59:01 +02:00
Paul Fultz II
4c3191e577
Lower recursion limit when using asan ( #2013 )
2019-07-24 09:57:53 +02:00
Daniel Marjamäki
37a345c7d0
Fixed constParameter warnings
2019-07-24 08:30:36 +02:00
Daniel Marjamäki
753efb4c9b
Function::isSafe: handle global/namespace functions better
2019-07-24 08:23:05 +02:00
Daniel Marjamäki
3ec45acc43
astyle formatting
...
[ci skip]
2019-07-24 08:22:12 +02:00
Georgy Komarov
6bd1c92c24
misra.py: Bring back -P argument for backward compatibility ( #2030 )
...
* misra.py: Bring back -P argument for backward compatibility
* Restore --file-prefix logic
* Add arguments regression test
2019-07-24 07:16:48 +02:00
Paul Fultz II
3ec3bd52e0
Fix FP when using a pointer to a container ( #2029 )
2019-07-24 00:04:49 +02:00
Paul Fultz II
ab0fcc7640
Fix issue 9216: reset() method confusion ( #2025 )
...
* Fix issue 9216 with smart pointer reset
* Check for arrow
2019-07-23 22:45:58 +02:00
Paul Fultz II
60b670babd
Fix issue 9219: False positive, returnDanglingLifetime ( #2026 )
...
* Check for pointer deref for container methods
* Formatting
2019-07-23 21:59:05 +02:00
IOBYTE
5ad5cfcc29
Fix #9217 (Regression: Memory explodes in simplifyTemplateAliases) ( #2021 )
...
* Fix #9217 (Regression: Memory explodes in simplifyTemplateAliases)
* fix use after free when nothing was copied
2019-07-23 21:28:24 +02:00
Sebastian
3e5f07b3fb
qt.cfg: Add/enhance functions of class QString ( #2027 )
...
Some were reported missing by daca@home.
2019-07-23 19:55:55 +02:00
Daniel Marjamäki
46686c6c20
GUI: Fix test-projectfile testing
2019-07-23 18:09:00 +02:00
Daniel Marjamäki
4fb6c27276
Modernize: Use enum class
2019-07-23 14:29:02 +02:00
Daniel Marjamäki
680fbfe612
Fix Cppcheck warning, unused value
2019-07-23 14:10:34 +02:00
Daniel Marjamäki
c8bc88e7e2
Fix compiler error
2019-07-23 13:14:08 +02:00
Daniel Marjamäki
681bd0a911
GUI: Better settings for extended safe checks
2019-07-23 11:54:38 +02:00
Daniel Marjamäki
8f9912d245
gui.pro: added -Wno-deprecated-declarations
2019-07-23 10:35:20 +02:00
Daniel Marjamäki
dab0845ef1
Travis: Revert width=>horizontalAdvance change to fix CI
2019-07-23 10:28:45 +02:00
Daniel Marjamäki
896d953aa3
GUI: Fix a few Wdeprecated warnings
2019-07-22 22:40:11 +02:00
Daniel Marjamäki
70e0c66c35
GUI: Use theme in whole program
2019-07-22 15:55:51 +02:00
Sebastian
4986b02566
qt.cfg: Add functions of class QRegExp ( #2017 )
...
This class is also used by the Cppcheck GUI.
Reference: https://doc.qt.io/qt-5/qregexp.html
2019-07-22 12:53:58 +02:00
Daniel Marjamäki
82c6a72b48
Rename variable pDlg to dlg
2019-07-22 12:50:42 +02:00
Daniel Marjamäki
74bd2aa680
Use range for loop
2019-07-22 12:24:16 +02:00
Daniel Marjamäki
a81c39af09
Replace 'unsigned' with 'nonneg'
2019-07-22 11:25:51 +02:00
Daniel Marjamäki
7ed3db7b32
astyle formatting
...
[ci skip]
2019-07-22 10:38:17 +02:00
Rikard Falkeborn
8cd1d5a47d
Use library for memleak checks ( #2002 )
...
* Use library for memleak checks
Change memleakOnRealloc and leakReturnValNotUsed to use library
configuration instead of hardcoding "realloc".
In order to do so, some care needs to be taken when matching for a
reallocation function, since it can no longer be assumed that the input
to be allocated is the first argument of the function. This complicates
getReallocationType() and checkReallocUsage() but is necessary in order
to handle for example freopen() properly.
Also, refactor memleakOnRealloc check to reduce duplicated code when
checking "a" and "*a". When doing so, extending the check to look for
arbitrary number of "*" can be done for free (just change an if
statement to a while statement). Most likely, this is an unusual case in
real world code.
* Remove redundant whitespace in Token::Match()
* Run on simplified checks
* Fix cppcheck warning
2019-07-22 10:37:36 +02:00
Rikard Falkeborn
06337cedf5
Run more tests on full token list ( #2020 )
...
Since all checks are run on the full token list and not the simplified
one, run the tests on the full token list as well.
2019-07-22 10:26:55 +02:00
amai2012
2915376c4f
Remove attribute use-retval from std::rotate
2019-07-19 20:33:15 +02:00
Sebastian
f50cd2330c
std.cfg: Add some more std::<container>::swap() functions ( #2018 )
2019-07-19 10:00:14 +02:00
amai2012
453de18101
Run pylint on addons providing a buld breaker on travis ( #2011 )
...
* Run pylint (using a pylintrc file) on the addon Python scripts. It serves as a build breaker for severe issues.
* Skip y2038 addon for now until it's fixed.
2019-07-18 20:51:58 +02:00
Rikard Falkeborn
abea580b78
Fix FP memory leak with unknown function call in condition ( #2012 )
...
* Fix FP memory leak with unknown function call in condition
This was introduced in 8513fb81d2
when
fixing memory leaks for global variables allocated in condition. The
refactored code had an inconsistency where c and c++ code behaved
slightly differently when `var` is NULL. This seemed to not have an
impact as the code was written prior to 8513fb81d2
,
but when the same code was used for conditions, FPs were introduced.
The introduced FPs were memleak warnings when there should have been an
information message about missing configurations for code like
void f() {
char *p = malloc(10);
if (set_data(p)) {}
}
Fix this by always returning true if varTok->Variable() is NULL for
both c and c++ code.
* Improve function name
2019-07-18 15:23:19 +02:00
Paul Fultz II
8cd8a2671c
Fix issue 9211: No error on divide by zero outside template instatiation
...
I am not sure how to add a test for this.
2019-07-18 14:55:30 +02:00
Daniel Marjamäki
28e5133f50
Refactoring: Use range for loop
2019-07-18 14:55:01 +02:00
Sebastian
9c8c539549
qt.cfg: Add some functions of class QXmlStreamAttributes ( #2016 )
...
This class is also used by the Cppcheck GUI.
2019-07-18 12:38:42 +02:00
Paul Fultz II
a08a9c1349
Switch to use lifetime analysis for iterators and pointers to invalid containers
...
This will diagnose more issues such as:
```cpp
void f(std::vector<int> &v) {
auto v0 = v.begin();
v.push_back(123);
std::cout << *v0 << std::endl;
}
```
2019-07-18 10:56:44 +02:00
Sebastian
512c1b12c6
qt.cfg: Add some functions of class QXmlStreamWriter ( #2010 )
...
This class is also used by the Cppcheck GUI.
2019-07-18 06:30:53 +02:00
Daniel Marjamäki
421a8da6a8
Try to clarify signConversion message
2019-07-17 22:41:24 +02:00
Daniel Marjamäki
f0aeb845e5
ValueFlow: Clarify warnings when argument min/max values are used
2019-07-17 22:17:34 +02:00
Sebastian
a997a30824
cppcheck-lib.cfg: Enhance Cppcheck library configuration ( #2009 )
2019-07-17 20:05:13 +02:00