1215 Commits

Author SHA1 Message Date
Alexander Mai
e28e9be82f Add TODO testcase for #5738. Refactoring: add some const 2015-05-25 08:20:14 +02:00
PKEuS
22fbc18fb7 Fixed false positive for *a++ in for-loop condition
Moved unit test to testgarbage.cpp
2015-05-07 20:34:57 +02:00
Daniel Marjamäki
88f59ad7e8 Partial fix for #6656 (Allow that CWE is mapped for error message) 2015-04-25 17:48:11 +02:00
Matthias Krüger
42f0955e3f Move more setting checks out of loops and use const bools instead. Reorder a few related checks.
Follow up to eedcb6abcb9c905d5ef16fb6d5379bd1be9929c3 .
2015-04-10 14:31:19 +02:00
Matthias Krüger
eedcb6abcb move setting flags checks out of for loops, make them const. 2015-04-07 07:23:28 +02:00
Matthias Krüger
988acf11b4 don't print warning message if --enable=warning is not given.
message was of type:
(warning) Passing value 0 to foo() leads to implementation-defined result.
2015-04-06 13:37:27 +02:00
Dmitry-Me
ba423185b8 Omit uneeded checks 2015-04-02 10:26:19 +03:00
PKEuS
d6751a7987 Merge pull request #537 from Dmitry-Me/decouplePatternMatchingFromOtherChecks
Decouple pattern matching from other checks
2015-03-15 08:50:59 +01:00
Dmitry-Me
43a19dee8b Remove unneded deep copy, make reference const 2015-03-14 13:45:21 +03:00
Dmitry-Me
74417699db Remove redundant break 2015-03-06 18:55:47 +01:00
Daniel Marjamäki
6646a896f9 Fixed #6446 (FP zerodivcond on double arithmetics) 2015-03-03 15:50:31 +01:00
Dmitry-Me
10b762da98 Decouple pattern matching from other checks 2015-02-27 13:09:06 +03:00
Dmitry-Me
d7365519a5 Cache and reuse value 2015-02-26 11:48:15 +03:00
Daniel Marjamäki
fb5cc6fded Fixed #5905 (isSameExpression: comparisons 'a<b' and 'a>b' are same) 2015-02-23 16:38:55 +01:00
PKEuS
5f31242ee8 CheckOther::checkRedundantAssignment(): Bail out on inline assembly (#6525) 2015-02-22 12:03:53 +01:00
PKEuS
bae95b4560 Fixed noise in CheckOther::checkLibraryMatchFunctions(). 2015-02-21 12:39:02 +01:00
PKEuS
6227abac73 Fixed GCC (testsymboldatabase.cpp) and MSVC (checkother.cpp) warnings 2015-02-18 21:19:36 +01:00
Alexander Mai
0a6babea74 #6181 Drop redundantGetAndSetUserId. Ensure (style-) warnings are issued if setuid()/getuid() and some related functions are ignored. Move strdupa()/strndupa() from posix.cfg to gnu.cfg 2015-02-16 22:19:51 +01:00
Dmitry-Me
56747e4af9 Reorder checks 2015-02-16 12:11:13 +03:00
Dmitry-Me
5674b3c49d early break in loop for readability 2015-02-13 16:36:20 +01:00
Dmitry-Me
1f31dd749b Break loop early 2015-02-04 10:47:58 +03:00
PKEuS
b2835051df Refactorization: Renamed Token::Match pattern %var% to %name%, implement new pattern %var% which is true if varId > 0. 2015-01-31 12:32:04 +01:00
PKEuS
0488f45a5f Removed standalone check CheckOther::checkDoubleFree(), integrated (most of) the functionality into CheckLeakAutoVar. Added support for new/delete to checkLeakAutoVar. 2015-01-28 17:38:43 +01:00
Daniel Marjamäki
3285f85ebf Fixed #6460 (Library: better function/type matching) 2015-01-27 17:55:18 +01:00
Thomas Jarosch
58cb6cc116 Add new "style" check to catch redundant pointer operations
Doing "&*some_ptr_var" is redundant and might be the remainder
of a refactoring. Warnings for expanded macros are excluded though:
They are often used with and without pointers and
do something like this: "func(&(*macroarg))".

The new check is fully AST based and was given
strong false positive testing on a large code base.
2015-01-18 00:34:07 +01:00
Daniel Marjamäki
6a8293a8b7 Library: More strict matching of functions 2015-01-08 19:31:41 +01:00
Robert Reif
ba1c24ee65 Fixed #6422 (symbol database: put function flags into a single flag variable) 2015-01-08 05:45:31 +01:00
Daniel Marjamäki
fb685f096a CheckOther:checkNegativeBitwiseShift: Fix FP when shift is protected by ?: 2015-01-05 10:01:04 +01:00
PKEuS
267552779d Improved check (#6391): Detect identical code in both branches of ternary operator 2015-01-03 18:01:49 +01:00
Daniel Marjamäki
ff11ba9847 Updated copyright year to 2015 2015-01-03 12:14:58 +01:00
PKEuS
a3fbc5aee5 Refactorization: Avoid stringification of second branch if first branch was empty in CheckOther::checkDuplicateBranch() 2015-01-02 11:24:28 +01:00
PKEuS
9e8a66ee40 Fixed #6373: Support bitops in clarifyCalculation check 2014-12-30 17:55:29 +01:00
PKEuS
990d14f3e2 Fixed #6328: Use isAttributeNoreturn() whereever we also check Library::isnoreturn(). 2014-12-27 11:07:36 +01:00
Daniel Marjamäki
0c086cf247 Incomplete statement: tweaked bailout for '0;' statement using isExpandedMacro() 2014-12-24 21:47:37 +01:00
Daniel Marjamäki
90bd38a972 Renamed isCasted to isCast 2014-12-24 10:35:40 +01:00
Daniel Marjamäki
de1a91f30d Incomplete statement: tweaked bailout for '(void*)0' using isCasted() 2014-12-23 18:19:33 +01:00
Thomas Jarosch
d5e10c18d3 checkUnreachableCode(): fix FP for statements that just hide compiler warnings about unused function arguments
Seen throughout the rockbox codebase.
2014-12-22 11:18:23 +01:00
Daniel Marjamäki
293dc1efc7 Fixed #6327 (Unwanted constStatement on (void)0) 2014-12-21 13:42:21 +01:00
Dmitry-Me
c0d2933ec7 Reorder checks to avoid redundant actions 2014-11-30 16:14:53 +03:00
PKEuS
4163f1e122 Fixed #6260 - C++11 style array initialization 2014-11-18 19:50:09 +01:00
Dmitry-Me
353b885948 CheckOther::invalidPointerCast: Incorrect interpretation of settings 2014-11-14 20:22:17 +01:00
Dmitry-Me
fefb0ca912 Reuse previously computed values 2014-11-14 13:24:56 +03:00
Dmitry-Me
cb9a6c1cb5 Don't show warning for same expressions alongside == in static_assert 2014-11-13 16:04:34 +01:00
Frank Zingsheim
7e0fc3d481 Fixed #6252 (False positive "freed twice")
--HG--
extra : rebase_source : 24f801452fbefa3a59ab2cca62c3cf02aea513b6
2014-11-03 21:24:34 +01:00
PKEuS
662283cab8 Refactorization: Avoid iterations over whole token list, limited several checks to function scopes. 2014-10-31 11:42:54 +01:00
PKEuS
b5ea677180 Some fixes for CheckOther::checkIgnoredReturnValue():
- Fixed name of the function
- Fixed false positive for code like "class strcmp { strcmp() {} };"
- Fixed FP #6233 on checking side (no AST generated for function call)
2014-10-30 23:24:13 +01:00
PKEuS
b7996bd0b0 Handle overloads and custom implementations of functions checkReturnIgnoredReturnValue() to avoid false positives 2014-10-30 21:26:32 +01:00
Daniel Marjamäki
0a1a34b9b7 Fixed Cppcheck warning, possible null pointer dereference of tok. 2014-10-18 10:59:48 +02:00
Samuel Degrande
96e8b83bf8 Fixed newline in verbose message 2014-10-16 09:08:39 +02:00
orbitcowboy
5a4526e997 Fixed typos in comments, no functional changes. 2014-10-02 04:39:41 +02:00