12435 Commits

Author SHA1 Message Date
Alexander Mai
d2caf89706 #6385 crash in Variable::getFlag(). Catch token without variable in fix for #6095. 2014-12-31 18:19:10 +01:00
Daniel Marjamäki
5c2a2a5c22 Fixed #6095 (False positive oppositeInnerCondition - neglecting statements with side-effects) 2014-12-31 15:14:22 +01:00
Thomas Jarosch
9438b49bfb Fix build on PowerPC
PowerPC does not provide ucontext.gregs or the REG_ERR define.

Found while testing big endian platform.
2014-12-31 01:44:50 +01:00
PKEuS
58f4660c94 Fixed #5223: Bailout in valueFlowForLoop1() for complex conditions
Refactorization: Reuse result instead of calling MathLib::toLongNumber() twice
2014-12-30 19:56:47 +01:00
PKEuS
5dc45bd4ac Fixed #5497: Support designated initializers in array size detection 2014-12-30 19:23:01 +01:00
PKEuS
ec826a0e0e Fixed #6022: Support ++%var% in valueFlowForLoop1
Fixed TODO unit test: properly handle loops that are never executed
2014-12-30 18:50:22 +01:00
PKEuS
9e8a66ee40 Fixed #6373: Support bitops in clarifyCalculation check 2014-12-30 17:55:29 +01:00
Thomas Jarosch
69b31a0743 Fix up extra whitespaces in match patterns
Detected by new internal check.
2014-12-30 14:53:43 +01:00
Thomas Jarosch
17b47f1ce0 New internal check: Catch extra whitespace in match patterns
Inspired by a recent commit from PKEuS.
2014-12-30 14:21:18 +01:00
Daniel Marjamäki
208761f0c3 Fixed #6361 (crash: CheckBufferOverrun) 2014-12-28 10:05:08 +01:00
Matthias Krüger
9ee1b80539 run dmake 2014-12-27 11:45:53 +01:00
PKEuS
8b59c39c42 Refactorization: Removed whitespaces at the end of Token::Match patterns 2014-12-27 11:09:54 +01:00
PKEuS
990d14f3e2 Fixed #6328: Use isAttributeNoreturn() whereever we also check Library::isnoreturn(). 2014-12-27 11:07:36 +01:00
Robert Reif
9e60f584d9 Fixed #6321: Implemented function Token::swapWithNext(). 2014-12-27 10:53:26 +01:00
Dmitry-Me
14f13afa0a Don't care which type protected operator= returns 2014-12-26 15:38:22 +01:00
Daniel Marjamäki
6194a4eefd Fixed #6357 (Improve check: pointer arithmetic 'p+x' overrun, conditional x) 2014-12-26 09:12:00 +01:00
Daniel Marjamäki
7ab12cea63 Improved pointer arithmetic message 2014-12-25 14:31:46 +01:00
Daniel Marjamäki
bc594d52c8 Fixed #6349 (Pointer arithmetic: clarify message) 2014-12-25 10:05:55 +01:00
Thomas Jarosch
26aa049724 Fix C++11 compat wrapper for clang
clang identifies itself as gcc 4.2.
The preprocessor macros can be dumped with:
     clang++ -dM -E -x c /dev/null
2014-12-25 01:28:02 +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
7cfa54f0e0 Fixed #6353 (False positive: CheckBufferOverrun checking reassigned array function parameter) 2014-12-24 14:03:52 +01:00
Daniel Marjamäki
06803ee333 Refactoring Tokenizer::simplifyAttribute 2014-12-24 13:03:38 +01:00
Daniel Marjamäki
fb3f5a159d Token: Added flag for attribute noreturn (#6328) 2014-12-24 12:50:51 +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
Daniel Marjamäki
1b2a23b3fe Fixed #6350 (Tokenizer::simplifyCast: set Token::isCasted when cast is removed) 2014-12-23 16:16:14 +01:00
Thomas Jarosch
95940ff0ef python3 compatibility 2014-12-22 16:04:29 +01:00
Daniel Marjamäki
e16a934fb3 CheckBufferOverrun: Added comment in code to clarify why severity is portability for pointerOutOfBounds message. 2014-12-22 15:41:46 +01:00
Thomas Jarosch
91e45ba8d7 pep8 fix
pep8 reported:
extracttests.py:233:16: E713 test for membership should be 'not in'
2014-12-22 14:27:47 +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
10ae551fef CheckBufferOverrun: Use portability warning for pointer arithmetic UB. It can be used by intention and usually works as intended. 2014-12-22 10:56:17 +01:00
Thomas Jarosch
bac1dfce86 Add test cases when sizeof is used on struct members 2014-12-22 09:59:34 +01:00
Thomas Jarosch
dca65ce3da Fix FP if sizeof is used without parentheses on struct members
Right now we only support checking basic pointer types.
Pointers inside structs are not supported yet.

Consider the tokens "foo@1 . bar@2",
Token::Match( "sizeof ( %varid% )" ) won't match it.
Token::Match( "sizeof %varid%" ) did match it -> FP.
2014-12-22 09:44:08 +01:00
Daniel Marjamäki
93ac5a41cd Fixed #6346 (pointer calculation overflow) 2014-12-22 09:38:00 +01:00
Daniel Marjamäki
293dc1efc7 Fixed #6327 (Unwanted constStatement on (void)0) 2014-12-21 13:42:21 +01:00
Matthias Krüger
1c8c8e45d0 gui: icon.svg: manually fix offset and apply inkscapes "Vacuum Defs" functionality to reduce file size from 113675 b to 3906 b. 2014-12-21 12:24:57 +01:00
PKEuS
e03f49360f Merge pull request #484 from simartin/ticket_6181
Ticket #6181: Properly handle >> terminating template parameter lists.
2014-12-21 12:21:17 +01:00
amai2012
8bf6d212ca Merge pull request #490 from lanurmi/nullptr-gcc44
Fix compilation with GCC 4.4.
2014-12-21 04:40:52 +01:00
Lauri Nurmi
d543a85510 Fix compilation with GCC 4.4.
It was broken by fe468ac14255f079cd4ad0546d3c51f8e3f8031a.
2014-12-21 02:15:53 +02:00
Daniel Marjamäki
a95e5bff2b Fixed #6344 (false positive: out of bounds access when array size is unknown) 2014-12-20 18:50:08 +01:00
Daniel Marjamäki
f24e1b82cf astyle formatting 2014-12-20 18:47:40 +01:00
Thomas Jarosch
6bab620d0a runastyle: Output detected version on mismatch 2014-12-18 16:02:26 +01:00
Thomas Jarosch
b96b468d7a runastyle: Move astyle binary name into a variable
So it's easy to adjust the path to the exact
used astyle version of cppcheck.
2014-12-18 15:59:04 +01:00
Daniel Marjamäki
b8371ebd87 Revert 2e45df3b. Because there are FP. 2014-12-18 06:37:15 +01:00
PKEuS
27af2bf35d Fixed #6335: Added definition for Q_PROPERTY to qt.cfg 2014-12-17 20:03:11 +01:00
PKEuS
1da9005861 Updated TinyXML
https://github.com/leethomason/tinyxml2
2014-12-17 19:57:19 +01:00
Matthias Krüger
cc7f69da54 fix two internal warnings:
[lib/checkuninitvar.cpp:1668]: (style) Call to 'Token::tokAt()' followed by 'Token::str()' can be simplified.
[lib/checkuninitvar.cpp:1669]: (style) Call to 'Token::tokAt()' followed by 'Token::str()' can be simplified.
2014-12-17 19:06:13 +01:00
orbitcowboy
2e45df3b72 Fixed #6341: false negative uninitvar pattern "return foo ( %var%" 2014-12-17 17:43:31 +01:00
orbitcowboy
4cbbca3db0 Refactoring: Avoid to load posix.cfg multiple times while testing (testother.cpp) (#6336) 2014-12-17 16:33:55 +01:00
Daniel Marjamäki
a1537e1a6e Fixed #6339 (false negative: array index out of bounds on allocated buffer using valueflow) 2014-12-17 16:23:48 +01:00