Commit Graph

21890 Commits

Author SHA1 Message Date
Rikard Falkeborn f95d193e22 Fix #8282 (memleak FP when returning std::pair) (#2039) 2019-07-26 07:03:58 +02:00
Paul Fultz II ee28a45db4 Fix issue 9235: new crash in astutils isVariableChanged from endless recursion (#2040) 2019-07-26 07:03:21 +02:00
Paul Fultz II b049fd9303 Improve propogation of lifetimes of function arguments
This will now warn for cases like this:

```cpp
int* f(int * x) {
    return x;
}
int * g(int x) {
    return f(&x);
}
````
2019-07-26 07:02:07 +02:00
Georgy Komarov fbd7b5180b Update addons structure. Make Y2038 addon works. (#2024)
* Update addons structure. Make Y2038 addon works.

All addons are now located in same directory, where cppcheck-gui is
looking for them.

Y2038 addon has been updated to latest cppcheck version. Output is same
as 303622f01c commit as it described in
README: 303622f01c/addons/y2038/README.

* Clean up .travis.yml

* Update travis.yml paths.

* misra.py: Bring back -P argument for backward compatibility

* Fix paths

* Normalize dumpfile paths tpo cppcheck format

* Fixup 3 test.

* Add arguments regression test.

* Fixing travis build
2019-07-26 06:38:03 +02:00
Daniel Marjamäki 3458692cc7 Travis: Remove Precise job because they are decommisioning that environment :-( 2019-07-25 22:30:44 +02:00
Rikard Falkeborn a69a570505 Fix FP leakVarNotUsed with freopen() and stdin (#2034)
One usecase for freopen() is to redirect input and output streams to
files. For that, the return value is not needed.
2019-07-25 21:09:23 +02:00
Daniel Marjamäki 9009eeb83d Tweak Function::isSafe() 2019-07-25 20:52:24 +02:00
Daniel Marjamäki 4611cbb5bb One more fix for Function::isSafe 2019-07-25 17:31:52 +02:00
Daniel Marjamäki 09be07f2b2 Fix Function::isSafe 2019-07-25 17:28:32 +02:00
Daniel Marjamäki 45d1ca6f7c Safe checks: Clarify a warning message 2019-07-25 17:19:51 +02:00
Sebastian 2d5f3ae3b4
std.cfg: Add std::next() and std::prev() (#2022)
Reference:
https://en.cppreference.com/w/cpp/iterator/next
https://en.cppreference.com/w/cpp/iterator/prev
2019-07-25 12:40:15 +02:00
orbitcowboy b3e9724c06 wxwidgets.cfg: Added support for more interfaces. 2019-07-25 10:07:17 +02:00
orbitcowboy 9ea75bc7fe wxwidgets.cfg: missing const-flag 2019-07-25 09:47:27 +02:00
orbitcowboy 46072f7ed5 windows.cfg: Added support for FindResource(). 2019-07-25 09:46:40 +02:00
orbitcowboy 8ca54d9d2b wxwidgets.cfg: Added support for wxPGProperty::GetCellRenderer(). 2019-07-25 09:46:10 +02:00
Scott Furry 88e2e82039 Correct Signal/Slot signatures (#2035)
Previous commit had updated declarations in Code Editor Style Dialog to use
const QColor& and const QFont::Weight& variables. This change was not totally
complete as const usage was not propagated to Signal/Slot connect statements.

This commit corrects that oversight.
2019-07-25 08:29:42 +02:00
Sebastian 8f92c43567
.travis.yml: Check more Python scripts with pylint (#2019)
Use renamed pylintrc file that is only meant for Travis checks.

Check all Python scripts in 'addons', 'htmlreport' and 'tools'

Errors for `_socketobject` class are disabled, see
https://stackoverflow.com/questions/10300082/how-to-prevent-python-pylint-complaining-about-socket-class-sendall-method

Install imported modules `unittest2` and `pexpect` via pip.

Add "./addons" to search-path for modules because
"tools/compare-ast-clang-and-cppcheck.py" imports cppcheckdata.py from
addons. Pylint does not seem to evaluate
`sys.path.insert(0, '../addons')` in the script. So an `init-hook` is
necessary in pylintrc_travis.
2019-07-24 21:09:53 +02:00
Paul Fultz II 744a94ad5a Fix issue 9231: FP constParameter - argument passed parent ctor (#2032) 2019-07-24 20:59:58 +02:00
IOBYTE 999d2f797c Fix #9225 (Crash on valid C++14 code) (#2031)
* Fix #9225 (Crash on valid C++14 code)

This only fixes the crash. Specialization of nested templates is still
broken.

* fix cppcheck warnings

* fixed another cppcheck warning
2019-07-24 19:20:19 +02:00
Daniel Marjamäki bbcffce529 Fixed #9062 (False positive "condition is always true") 2019-07-24 19:16:35 +02:00
Daniel Marjamäki e11dcc609b Fixed #7758 (Function array is seen as Uninitialized) 2019-07-24 18:20:23 +02:00
Daniel Marjamäki 7c0b011c05 Fixed #9230 (Improve check: integer conversion overflow in return) 2019-07-24 16:17:52 +02:00
versat f29e88a8a5 opengl.cfg: Add glLoadMatrix() and glUseProgram() 2019-07-24 15:19:52 +02:00
Daniel Marjamäki 2da75d5af4 Split up Cppcheck attribute. low and high values can be specified separately and they can be used for variables also. 2019-07-24 15:08:26 +02:00
versat 0041733bd6 opengl.cfg: Add more function configurations.
Some were reported by daca@home
2019-07-24 14:48:09 +02:00
versat 641b350cf7 astutils.h: Remove conflicting function declaration for isAliased()
This function was made static with commit 6c82685fbf
2019-07-24 13:23:54 +02:00
Sebastian d185607122
std.cfg: Fix function configuration for std::back_inserter (#2023)
Reference: https://en.cppreference.com/w/cpp/iterator/back_inserter
2019-07-24 12:44:56 +02:00
Daniel Marjamäki fb7f18ddea ValueFlow: fix false detection of duplicate values 2019-07-24 12:30:33 +02:00
Daniel Marjamäki cab9f61b79 safe checks: Handle float parameters 2019-07-24 12:09:13 +02:00
orbitcowboy 2be981d68d wxwidgets.cfg: Remove wrong '<pure/>-tag. 2019-07-24 11:43:21 +02:00
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