Commit Graph

6091 Commits

Author SHA1 Message Date
PKEuS 4c80ca4e8e Improved cstyleCast check:
- Detect casting of literals
- Check initializer lists (#3630)
2014-08-04 11:21:25 +02:00
Daniel Marjamäki 47a2b35e98 BufferOverrun: Use ValueFlow string values more 2014-08-04 08:25:10 +02:00
Dmitry-Me 8cd6e490d9 Resolve CID 1222223. 2014-08-04 10:00:53 +04:00
Daniel Marjamäki ab958e7710 Fixed Cppcheck warning 2014-08-04 06:30:20 +02:00
Daniel Marjamäki 79fc549de0 ValueFlow: start adding valueflow handling of strings and pointer aliases 2014-08-03 20:11:22 +02:00
PKEuS 57c055fcc4 Fixed false negative #5985: default argument values should not affect variable usage checking. 2014-08-03 19:13:37 +02:00
PKEuS de66ed4071 Added missing message to --errorlist output, changed Id to avoid duplicate 2014-08-02 20:55:59 +02:00
PKEuS 6d5603af45 Increased version to 1.66.99/1.67 dev 2014-08-02 18:07:01 +02:00
Daniel Marjamäki 1c8c26a488 1.66: Set version 2014-08-02 11:58:30 +02:00
PKEuS e486e8cc62 Updated WiX installer and VS solution to VS12 and Qt5 2014-08-02 11:52:37 +02:00
PKEuS 6d3cb86d2a Merge pull request #382 from Dmitry-Me/bringDeclarationsCloserToWhereTheyAreNeeded
Bring variable declarations closer to where they're first used.
2014-08-02 11:12:34 +02:00
Daniel Marjamäki f2e3700142 Merge pull request #383 from moshekaplan/patch-1
Updated message for strncat usage
2014-08-02 11:10:16 +02:00
Daniel Marjamäki 7237b01979 Fixed Cppcheck warning 2014-08-02 10:07:23 +02:00
Daniel Marjamäki 4dc73e3a5b Use Token::simpleMatch for simple pattern 2014-08-01 17:47:02 +02:00
Daniel Marjamäki 3f5da22d2b Tokenizer: Added FIXME for keywords handling 2014-08-01 17:27:35 +02:00
Daniel Marjamäki a943a0739a Tokenizer: Don't remove struct member in Tokenizer::simplifyKeyword() 2014-08-01 17:19:08 +02:00
Daniel Marjamäki f908959196 ValueFlow: improved analysis in for loops to avoid fp 2014-08-01 16:12:57 +02:00
Daniel Marjamäki 544a5957e1 Token: Added utility function getStrSize as a complement to getStrLength 2014-08-01 13:12:18 +02:00
Daniel Marjamäki 404c13ef4b Fixed ValueFlow --debug output 2014-08-01 09:50:30 +02:00
Daniel Marjamäki 688b798b88 ValueFlow: Cleanup variable 2014-08-01 08:59:07 +02:00
Daniel Marjamäki 57c2e928d1 ValueFlow: Simple multivariable control flow analysis to avoid FP when 'control variable' is used 2014-08-01 07:35:15 +02:00
PKEuS 95afa51b24 Fixed crash #5991: Don't crash when lambda is incomplete
Fixed crash #6004: Support struct initializations in AST
2014-07-31 23:15:36 +02:00
Moshe Kaplan e881495eaf Updated message for strncat usage 2014-07-31 13:51:29 -04:00
Daniel Marjamäki 5de1e35350 CheckBufferOverrun: Fixed minsize checking of string literals. Check sizeof string instead of strlen. 2014-07-30 20:35:21 +02:00
Daniel Marjamäki 25846cf223 ValueFlow: Fix for if/else valueflow analysis 2014-07-30 18:12:33 +02:00
Daniel Marjamäki 473b1bdb2b Multicondition: Fixed FP when using dynamic_cast 2014-07-30 11:23:09 +02:00
Dmitry-Me ee180787eb Bring variable declarations closer to where they're first used. 2014-07-29 13:59:45 +04:00
Daniel Marjamäki 905a383ac2 Merge pull request #381 from Dmitry-Me/checkBooleanFlagFirst
Run cheaper check first, don't check the same condition twice.
2014-07-28 18:02:49 +02:00
Daniel Marjamäki 8a1c5d6fce Fixed #6011 (crash: libreoffice/binfilter svt_enhwmf.cxx) 2014-07-28 16:33:42 +02:00
Daniel Marjamäki fdfea717c6 Suspicious string comparison: Refactoring using AST. Fixed FP in Lac. 2014-07-28 14:27:35 +02:00
Dmitry-Me dc03b98e60 Run cheaper check first, don't check the same condition twice. 2014-07-28 14:58:19 +04:00
Robert Reif 90bc59e0fa Fixed #6009 (Detect type mismatch in printf-like function when type is returned) 2014-07-28 09:16:35 +02:00
Daniel Marjamäki 76020d2ad0 astIsFloat: expression 'floatvar ? 0x40 : 0' is not float 2014-07-26 09:09:58 +02:00
Dmitry-Me 431453f53e Reuse previously computed values, use more const. 2014-07-25 15:05:13 +04:00
Daniel Marjamäki 216ecd06e1 Fix Cppcheck warning. Make function Preprocessor::readpreprocessor static instead of const. 2014-07-25 12:43:55 +02:00
Dmitry-Me f104aa237f Bring declarations closer to where they're needed. 2014-07-24 18:34:13 +04:00
Dmitry-Me a4d597451b Resolve CID 1214637. 2014-07-24 16:54:20 +04:00
Dmitry-Me 615eb32fdc Use temp variables to avoid repeated actions in code. 2014-07-23 18:51:23 +04:00
Dmitry-Me 07c120f1af Cache option flags and check them first. 2014-07-23 17:06:27 +04:00
Daniel Marjamäki 2e60f30bfc Merge pull request #372 from Dmitry-Me/dontUseArrayAtWhenItWouldntThrow
Use [], not at() when the index is guaranteed to be valid.
2014-07-23 14:15:42 +02:00
Daniel Marjamäki c5e9da2984 xml dump: add more token attributes 2014-07-21 12:44:53 +02:00
Dmitry-Me cd13232062 Use [], not at() when the index is guaranteed to be valid. 2014-07-21 10:37:08 +04:00
Daniel Marjamäki 5ae6234729 Fixed #5978 (false positive: Array 'm_pool_vector[-1]' accessed at index 0, which is out of bounds.) 2014-07-20 11:44:25 +02:00
Daniel Marjamäki 1e5eab8f17 xml dump: Added function attribute in scope 2014-07-20 11:44:01 +02:00
Daniel Marjamäki 328cc7b8f5 Fixed #5996 (false positive: Clarify calculation precedence for '+' and '?'.) 2014-07-19 18:29:53 +02:00
Daniel Marjamäki af2b94e322 Fixed #5826 (Change error message for 'throw in destructor' check) 2014-07-19 03:29:50 +02:00
Daniel Marjamäki c252885bf8 Merge pull request #369 from Dmitry-Me/useBoolFlagToAvoidComparisonDuplication
Use boolean flag to avoid comparison duplication
2014-07-18 18:11:53 +02:00
Daniel Marjamäki 2cc31acabb Fixed #5922 (FP: passedByValue for std::string::value_type) 2014-07-18 15:51:59 +02:00
Dmitry-Me fae9d975cf Use boolean flag to avoid comparison duplication 2014-07-18 13:31:31 +04:00
Daniel Marjamäki 946c139043 Merge pull request #367 from Dmitry-Me/fixVariableCapitalization
Fix variable capitalization.
2014-07-18 11:15:17 +02:00
Alexander Mai 55e45add4a Fix compiler warnings 2014-07-17 20:04:56 +02:00
Dmitry-Me f995f67a11 Fix variable capitalization. 2014-07-17 12:38:09 +04:00
Daniel Marjamäki 425e7527bb Merge pull request #366 from Dmitry-Me/useTempVariableToOmitRecomputation
Use temp variable to omit recomputing the same value.
2014-07-17 10:27:47 +02:00
PKEuS 8c96cc59c9 Fixed false positive #5976: Properly handle shift from stream. 2014-07-17 10:03:58 +02:00
Daniel Marjamäki 15bb447fdc Fixed #5965 (False positive zerodiv - loop iterating over double variable) 2014-07-17 08:44:55 +02:00
Dmitry-Me c829dff2b9 Use temp variable to omit recomputing the same value. 2014-07-17 10:44:19 +04:00
Daniel Marjamäki b1e5b015df xml dump: output some more info in the dump 2014-07-16 15:27:13 +02:00
Daniel Marjamäki 51c2245a07 Merge pull request #364 from Dmitry-Me/tempVariablesAndBetterNames
Shorten code by using temp variables, cleanup variable names.
2014-07-16 15:22:11 +02:00
Dmitry-Me 13234a7366 Shorten code by using temp variables, cleanup variable names. 2014-07-14 12:20:00 +04:00
Dmitry-Me 2989f70898 Get rid of tokAt() and strAt() in trivial cases. 2014-07-14 11:44:58 +04:00
Daniel Marjamäki 954400a382 Add simple xml debug output. When both --xml and --debug is used there will be xml debug output. 2014-07-13 17:21:45 +02:00
orbitcowboy af6f21308f Tokenizer: Added missing comma in string array initialization (This fixes Coverity-ID: 1226263 Missing comma in a string array initialization). 2014-07-12 12:52:49 +02:00
orbitcowboy 6e5a05104b Fixed copy and paste error (Coverity-ID: 1226262 Copy-paste error). 2014-07-12 12:48:05 +02:00
Daniel Marjamäki 5bdd197b01 Fixed #5981 (FP: nullPointer on repeated switch) 2014-07-16 09:12:56 +02:00
Daniel Marjamäki d41ef3a6d0 TemplateSimplifier: Fixed crash caused by null pointer dereference. I don't have a testcase. But the code is suspicious, in the loop we check if tok3 is null and then in the loop head we call tok3->next(). 2014-07-15 21:28:52 +02:00
Daniel Marjamäki c531749d7a ValueFlow: Small cleanups 2014-07-15 10:36:13 +02:00
Daniel Marjamäki b6a9c53826 xml dump: fixed some bad xml output in the token list dump 2014-07-14 19:49:31 +02:00
Daniel Marjamäki 2f7b8fe4b2 xml dump: fixed some minor issues in symboldatabase dump 2014-07-14 19:25:30 +02:00
Daniel Marjamäki 84ec573d0a xml dump: Fixed segfault when dumping symboldatabase variables 2014-07-14 19:17:39 +02:00
Daniel Marjamäki 6732556eb8 xml dump: output a <variables> with all variables 2014-07-14 18:35:15 +02:00
Daniel Marjamäki 2e7a72856a xml dump: remove duplicate attribute 2014-07-14 18:13:27 +02:00
Daniel Marjamäki 8db5836e3f Fixed #5982 (Add xml dump) 2014-07-14 15:51:45 +02:00
Daniel Marjamäki bf5b4d9ece astyle formatting
[ci skip]
2014-07-14 14:38:40 +02:00
Dmitry-Me 9829e0b48a Clearer variable names, fix typo in comment. 2014-07-11 11:33:09 +04:00
Dmitry-Me ba3757dfd3 Bring variables decalaration to where they are really needed. 2014-07-10 11:23:14 +04:00
Daniel Marjamäki bc6a320f91 Merge pull request #359 from Dmitry-Me/useReferencesToAvoidDeepCopy
Use references instead of deep copying the strings
2014-07-10 08:31:09 +02:00
Daniel Marjamäki cb9d67b9ec Fixed #5901 (False positive: (error) Using 'memcpy' with vector of uint8_t items) 2014-07-09 15:00:06 +02:00
Dmitry-Me d0cbfeb186 Use references instead of deep copying the strings 2014-07-09 11:21:38 +04:00
Daniel Marjamäki 7b0616786c Merge pull request #358 from Dmitry-Me/reuseDataFromPreviousCodeAndOmitChecks2
Omit unnecessary checks
2014-07-09 06:45:52 +02:00
Alexander Mai df95cd09f0 Fix compiler warnings about type mismatch 2014-07-08 21:47:22 +02:00
Daniel Marjamäki 14def42c99 Fixed #5972 (FP: Buffer is accessed out of bounds) 2014-07-08 16:31:08 +02:00
Daniel Marjamäki 254b6438b9 CheckBufferOverrun::checkStringArgument: sizeof string is strlen+1 2014-07-08 16:04:09 +02:00
Dmitry-Me 7da6ce8704 Omit unnecessary checks 2014-07-08 12:28:57 +04:00
Daniel Marjamäki 4d0189c672 CheckBufferOverrun: Fixed crash. The crash occured in ThreadHandler in the deserialize() function. Probably because " was used in error message. 2014-07-08 07:08:51 +02:00
Daniel Marjamäki 6afe9a4fbe astyle formatting
[ci skip]
2014-07-08 06:44:57 +02:00
amai2012 9b38ae73c1 Attempt to fix 2 Coverity messages.
Replace a few unsigned int by std::size_t
2014-07-07 21:25:30 +02:00
Daniel Marjamäki 987ce5a408 Fixed #5968 (False positive: 'Possible null pointer dereference' when checking null in negated conjuction) 2014-07-07 17:48:58 +02:00
Daniel Marjamäki 26a3bdfe00 ValueFlow: Cleanup code by using SymbolDatabase provided scope info 2014-07-07 16:34:21 +02:00
Daniel Marjamäki 3169a2d215 astyle formatting
[ci skip]
2014-07-06 17:50:21 +02:00
amai2012 0ddd7752b5 Avoid crash reported in #5943 (using the example from duplicate ticket #5971)
Replace a few size_t/unsigned int by std::size_t
2014-07-06 14:48:24 +02:00
amai2012 f1bf38004b Fix MSVC compiler warnings 2014-07-06 13:08:22 +02:00
Daniel Marjamäki 0fd334911a Fixed #5257 (Check memcpy size for string literals) 2014-07-06 08:41:39 +02:00
amai2012 77095e2b05 Add some more functions to posix.cfg which allow to enable TestBufferOverrun::buffer_overrun_1_posix_functions
Fix some compiler warnings on MSVC
2014-07-05 22:47:10 +02:00
Daniel Marjamäki a3acc3241e Library: Added <minsize> element used for buffer overrun checking 2014-07-05 20:31:43 +02:00
Alexander Mai 88890a851c Fix compiler warning (and minor cleanup). 2014-07-05 12:10:23 +02:00
Dmitry-Me 4f21b31004 Use temp variables to simplify code. 2014-07-04 10:56:43 +04:00
Daniel Marjamäki 51396e52aa Merge pull request #353 from Dmitry-Me/breakLoopEarlyInsteadOfContinuingBitwiseAnd
Break the loop once the result can no longer change.
2014-07-03 06:54:00 +02:00
Daniel Marjamäki d40b77dce2 Removed special 'else if' handling. this is redundant since these are simplified. 2014-07-02 16:16:19 +02:00
PKEuS 719304a8fc Added internal check for || and | inside Token::Match patterns. 2014-07-02 15:51:18 +02:00
PKEuS b4f0869a71 Reduced Token::Match complexity, better support for complex patterns 2014-07-02 15:25:41 +02:00