Commit Graph

7809 Commits

Author SHA1 Message Date
PKEuS 23ad881c64 Fixed false positive returnLocalVariable (#7180) 2016-01-30 20:18:12 +01:00
Daniel Marjamäki 30f2bb7796 ValueFlow: set known value for opposite condition in else if (#5503) 2016-01-30 20:03:55 +01:00
Daniel Marjamäki fd67ca146d Fixed #4955 (false positive: Variable 'i' is assigned a value that is never used (only used in template instantiation)) 2016-01-30 16:49:39 +01:00
Daniel Marjamäki 0e89620212 Fixed #4698 (False positive: Uninitialized member variable warning with confusing namespaces) 2016-01-30 14:04:48 +01:00
Daniel Marjamäki f3f9ea2d09 TemplateSimplifier: One more fix for #3130. Restored max recursion count to 100 and improve pattern for reference template instantiations instead. 2016-01-30 11:22:44 +01:00
Daniel Marjamäki f116de678e Fixed #3130 (Tokenizer: Doesn't instantiate recursive template correctly) 2016-01-30 10:33:25 +01:00
Daniel Marjamäki fa31ebf88e Fixed #7349 (checker 'inefficient find()' unintentionally used for find_first_of()) 2016-01-29 08:55:46 +01:00
Daniel Marjamäki b5986f6ad2 Fixed #7358 (valueflow: value is not known after conditional assignment) 2016-01-27 19:20:00 +01:00
Alexander Mai 1dac1664be 7357 segmentation fault in TokenList::insertTokens 2016-01-26 19:12:57 +01:00
Daniel Marjamäki 462b98afbc Fixed #7310 (ValueFlow: Value of NULL in function call) 2016-01-26 16:53:01 +01:00
Daniel Marjamäki 5c9be4a0df Fixed #7216 (ValueFlow: known value in condition) 2016-01-26 16:10:15 +01:00
Daniel Marjamäki c0056d2455 Fixed #7347 (AST: wrong ast when template variable is declared and initiailized in if 'if (A::B<C> abc = 123)') 2016-01-26 10:40:44 +01:00
Daniel Marjamäki 40e14f401f CheckCondition::alwaysTrueFalse: Move to normal checking to catch more problems 2016-01-26 10:08:21 +01:00
Daniel Marjamäki a391bca060 Fixed #7350 (ValueFlow: Result of 'x & 0' is always 0) 2016-01-26 10:07:42 +01:00
Daniel Marjamäki 5e10e680da CWE: refactoring. use constants instead of magic numbers. 2016-01-25 20:01:48 +01:00
Daniel Marjamäki 0fb9ab7b4a Refactoring CheckMemoryLeakNoVar::checkForUnusedReturnValue(). use continue 2016-01-25 10:33:11 +01:00
Daniel Marjamäki 7663b6ee75 Fixed #7348 (AST: wrong ast for cast that starts with :: '(::X*)x;') 2016-01-25 10:29:24 +01:00
Roberto Martelloni 5ce69da02d Mapped 26 errors to their CWEs ID. 2016-01-24 20:53:05 +00:00
Daniel Marjamäki 659cd96b03 Fixed #7209 (False positive: Array index used before limits check reported in sizeof) 2016-01-24 14:06:02 +01:00
Daniel Marjamäki 6faa637fc7 Fixed #6537 (False positive badBitmaskCheck - error in valueflow) 2016-01-24 13:45:44 +01:00
Daniel Marjamäki a8416bfb16 Fixed #6000 (ValueFlow: conditional code in for loops) 2016-01-24 13:11:51 +01:00
Daniel Marjamäki 76cdfbf487 Fixed #6330 (valueflow: condition is always false first iteration in dowhile loop) 2016-01-24 08:57:57 +01:00
Daniel Marjamäki 26612ab846 Fixed #5332 (Tokenizer: if braces not added properly 'if (x==123) label: {}') 2016-01-23 11:43:48 +01:00
Daniel Marjamäki 3d0338e9f9 Fixed #7212 (incorrectly adding function argument with no name) 2016-01-23 09:48:21 +01:00
Daniel Marjamäki 2627aada07 Fixed #7346 (Tokenizer::setVarId: No varId for member in initialization list) 2016-01-23 08:28:04 +01:00
Daniel Marjamäki f64930b7f5 Fixed #7343 (SymbolDatabase: handling of override) 2016-01-22 19:22:24 +01:00
Daniel Marjamäki 8568a80208 Fixed #6883 (Template parsing error) 2016-01-20 16:10:58 +01:00
Dmitry-Me 58541f7ffa Check string has expected format before processing it 2016-01-20 16:46:15 +03:00
Daniel Marjamäki 642cc57428 CheckMemoryLeak: Fix FP when overloaded new is used 2016-01-20 10:34:03 +01:00
Daniel Marjamäki 4a3ece5847 CheckNullPointer: Fix FP for 'buf[p]' when p is NULL 2016-01-20 08:42:58 +01:00
Daniel Marjamäki ab441f3fb1 Tokenizer:vardecl: split up reference variables declared in class better 2016-01-19 15:27:11 +01:00
Daniel Marjamäki a434e0fb1a Fixed #7272 (Tokenizer:setVarId: handle namespaces better) 2016-01-19 14:32:27 +01:00
Daniel Marjamäki dc5e2d5c8d xml: output file0 whenever it is different to filename, both for included files and when #line is used. 2016-01-19 07:01:21 +01:00
Daniel Marjamäki 79aec559d5 Fixed #7243 (False positive unknownEvaluationOrder - comma operator inside while-clause) 2016-01-18 16:10:51 +01:00
Daniel Marjamäki 5a28bce631 Merge pull request #763 from Dmitry-Me/changeSuspiciosVariableType
This variable type looks very suspicious
2016-01-18 15:46:57 +01:00
Daniel Marjamäki b9a4a950a2 Fixed #7144 (Tokenizer::isScopeNoReturn: handling '{ { throw new string(..); } }') 2016-01-18 15:39:20 +01:00
Dmitry-Me afe659cc88 This variable type looks very suspicious 2016-01-18 09:52:35 +03:00
Daniel Marjamäki d656e3a056 Fixed #7103 (isReturnScope: handling 'return (bstr){0};') 2016-01-17 12:38:49 +01:00
Daniel Marjamäki 522de81cc7 Refactoring: Move isReturn() to astutils and rename it to isReturnScope() 2016-01-16 18:52:34 +01:00
Daniel Marjamäki d39097f52a Removed redundant null pointer check 2016-01-16 14:15:51 +01:00
Daniel Marjamäki ca7ec25b92 Merge pull request #708 from siemens/preprocessor-directives-for-addons-v2
Add preprocessor directives dump and Y2038 addon
2016-01-16 12:28:14 +01:00
Matthias Krüger 7b1710a44f redundantAssignment: change from severity 'performance' to 'style' since avoiding unneccessary stores is a basic optimization done by compilers. 2016-01-15 22:01:40 +01:00
Roberto Martelloni bb6880919c CWE mapping 2016-01-15 17:07:14 +01:00
Akhilesh Nema 4aa2876ca0 Fixed #7278 (GUI: error rechecking with some files) 2016-01-15 16:52:22 +01:00
Dmitry-Me 26788a1dc1 Remove repeated code, better variable name 2016-01-15 17:20:40 +03:00
Albert ARIBAUD (3ADEV) 38e70dfb74 Preprocessor directives for addons
This patch augments the XML dumps with a 'directivelist'
subnode which lists all raw preprocessor directives met
while reading the source code in each configuration.

Also, the addons/cppcheckdata.py file has been extended
to give easy access to the list of directives and to
provide Python support for the --template (or short -t)
option.

Finally, an new addon, addons/y2038/y2038.py, is created
to detect when a glibc symbol might be Y2038-sensitive,
based on whether and how _TIME_BITS and _USE_TIME_BITS64
are defined when meeting the symbol.
2016-01-15 12:36:35 +01:00
Dmitry-Me 7bf88fbb09 Use substr() instead of assignment plus erase() 2016-01-15 14:22:08 +03:00
Robert Reif 966d078dcc CheckIO: Fix FN when using '%x' as format specifier for a 'signed int' variable 2016-01-15 09:29:29 +01:00
PKEuS 1bbb82ab2b Merge pull request #753 from Dmitry-Me/mergePatterns
Merge overlapping patterns
2016-01-14 08:25:07 +01:00
Dmitry-Me f14814e002 Reorganize duplicated patterns 2016-01-14 10:00:07 +03:00