Daniel Marjamäki
|
1f5eea98b5
|
CheckUninitVar: Fix a FP reported for invalid code
|
2015-07-22 21:58:06 +02:00 |
Daniel Marjamäki
|
42ed436e9d
|
Tweaks in uninitvar, small steps to make it possible to remove the ExecutionPath
|
2015-07-22 20:31:58 +02:00 |
Daniel Marjamäki
|
75f922e799
|
cleanup checkother
|
2015-07-22 18:48:43 +02:00 |
Daniel Marjamäki
|
b38062743d
|
Refactoring handling of if conditions in CheckMemoryLeak
|
2015-07-22 16:45:14 +02:00 |
PKEuS
|
258e3b9dc3
|
Refactorization: Renamed Token::isOperator() to Token::isOperatorKeyword() to avoid confusion with Token::isOp(), use Token::isOperatorKeyword() in setVarId().
|
2015-07-22 13:57:51 +02:00 |
Robert Reif
|
4e693f1620
|
Fixed #6827
|
2015-07-22 13:57:51 +02:00 |
PKEuS
|
ab1113fb16
|
Fixed crash on garbage code #6859
|
2015-07-22 13:33:24 +02:00 |
Daniel Marjamäki
|
b2b4bb49fa
|
Refactoring handling of comparisons
|
2015-07-22 12:31:18 +02:00 |
Daniel Marjamäki
|
c67776c04d
|
Testing: extract testcases, edit comparisons, run cppcheck, compare results
|
2015-07-22 09:52:24 +02:00 |
Daniel Marjamäki
|
6313304f77
|
Fix Travis build
|
2015-07-22 01:52:24 +02:00 |
Daniel Marjamäki
|
c6cadf5252
|
Fix Travis build
|
2015-07-22 01:41:01 +02:00 |
Daniel Marjamäki
|
350cba1c59
|
CheckLeakAutoVar: updated handling of comparisons after Tokenizer::simplifyIfNot was removed
|
2015-07-22 01:24:07 +02:00 |
Daniel Marjamäki
|
f711520892
|
Fixed #6852 (false negative: logical conjunction 'x == 0')
|
2015-07-21 22:26:22 +02:00 |
Daniel Marjamäki
|
f9d22f70db
|
Removed simplifyIfNot simplification (#6072)
|
2015-07-21 20:56:47 +02:00 |
Daniel Marjamäki
|
24269b1061
|
Refactoring CheckMemoryLeak::notvar, use AST instead of token parsing
|
2015-07-21 20:27:59 +02:00 |
Daniel Marjamäki
|
1b8252181d
|
Tokenizer: Removed Tokenizer::simplifyIfNotNull (#6072)
|
2015-07-21 17:58:44 +02:00 |
Daniel Marjamäki
|
ffc707246b
|
ValueFlow: Better handling of Known/Possible values after conditional unknown function call
|
2015-07-21 17:56:40 +02:00 |
PKEuS
|
7f6b6e43b1
|
Support strings in CheckStl::mismatchingContainers() (#6839)
|
2015-07-21 14:13:26 +02:00 |
PKEuS
|
a3eb725c3f
|
Support C++03-style of declaring a copy ctor as deleted (#6585)
|
2015-07-21 13:46:50 +02:00 |
amai2012
|
e8ac4d8e87
|
#6847 segmentation fault (invalid code) in Token::multiCompare. Fix and simple refactoring in Tokenizer
|
2015-07-21 13:40:50 +02:00 |
PKEuS
|
bdd53b4142
|
Fixed false positive #6717
|
2015-07-21 12:13:59 +02:00 |
PKEuS
|
dd9cb929bf
|
Refactorization in Preprocessor: Support beginning/end of file in removeSpaceNearNL(), avoid string copying when calling replaceIfDefined()
|
2015-07-21 12:13:58 +02:00 |
Daniel Marjamäki
|
2e2735518e
|
AST: Updated printAst
|
2015-07-21 11:54:11 +02:00 |
Daniel Marjamäki
|
8a72bb8aa8
|
AST: Fixed AST for struct initialisation
|
2015-07-21 11:40:42 +02:00 |
PKEuS
|
149d11d9ad
|
Improved handling of inline assembly (#6813):
- Add ; after asm {} block if required
- Fixed inline suppressions
|
2015-07-20 23:09:54 +02:00 |
PKEuS
|
a0890ecd2c
|
Fixed false positive: Do not print useClosedFile on arrays (#6823)
|
2015-07-20 22:40:19 +02:00 |
PKEuS
|
c987a99ac8
|
Fixed hang on garbage code (#6824)
|
2015-07-20 22:33:32 +02:00 |
Daniel Marjamäki
|
749bb34deb
|
Fixed #6830 (ValueFlow: value of switch-variable inside switch)
|
2015-07-20 19:45:38 +02:00 |
Alexander Mai
|
defee734f5
|
#6846 segmentation fault (invalid code) in CheckClass::hasAssignSelf
|
2015-07-20 19:04:34 +02:00 |
Daniel Marjamäki
|
c0880c8d79
|
ValueFlow: Values that are assigned in switch are possible after switch
|
2015-07-20 09:36:56 +02:00 |
Frank Zingsheim
|
8416be4d9d
|
#6345 Tokenizer::simplifyTypedef() adds redundant 'typename' to declaration
|
2015-07-20 07:55:22 +02:00 |
amai2012
|
af9b67562b
|
Merge pull request #626 from simartin/ticket_6648
Ticket #6648: Properly handle variables that have been deallocated and whose _address_ is taken after
|
2015-07-19 18:04:47 +02:00 |
Simon Martin
|
fa94f2e0f4
|
Ticket #6648: Properly handle variables that have been deallocated and whose _address_ is taken after in CheckLeakAutoVar.
|
2015-07-19 17:37:50 +02:00 |
Alexander Mai
|
8b97f04de4
|
Try to address some Coverity issues. Add TODO testcase for #5783. Introduce TODO_ASSERT macro.
|
2015-07-19 15:03:35 +02:00 |
Daniel Marjamäki
|
ce7e879460
|
ValueFlow: isVariableChanged() should return true when variable is changed by passing its address to subfunction
|
2015-07-18 15:35:39 +02:00 |
Daniel Marjamäki
|
5aa0b284dc
|
ValueFlow: Evaluate more calculations when operands have known values
|
2015-07-18 15:03:57 +02:00 |
Simon Martin
|
1f73d71542
|
Ticket #5776: Simplify (&a)->b into a.b
|
2015-07-17 23:27:35 +02:00 |
Simon Martin
|
af1b0cfddf
|
Ticket #6835: Don't get confused by parentheses while detecting template parameter default values.
|
2015-07-17 21:30:34 +02:00 |
Daniel Marjamäki
|
25d9ebedd8
|
ValueFlow: fixed known/possible value of static variable
|
2015-07-17 20:48:37 +02:00 |
Daniel Marjamäki
|
f1e410a878
|
ValueFlow: value that is changed in do while loop must be possible instead of known.
|
2015-07-17 20:30:34 +02:00 |
Daniel Marjamäki
|
69c1a7ecb1
|
ValueFlow: default argument values are not known, they are possible
|
2015-07-17 16:05:07 +02:00 |
Daniel Marjamäki
|
cb04dfbd37
|
Fixed #4842 (condition is always true (variable is assigned constant value and then used in condition))
|
2015-07-17 15:30:23 +02:00 |
Daniel Marjamäki
|
577ab1c2ac
|
ValueFlow: result of ? is not 'known'
|
2015-07-17 15:22:24 +02:00 |
Daniel Marjamäki
|
61cf224f32
|
ValueFlow: Make known loop value possible
|
2015-07-17 10:24:24 +02:00 |
Daniel Marjamäki
|
9bdee7fce9
|
ValueFlow: Refactoring setTokenValue()
|
2015-07-17 09:46:31 +02:00 |
Daniel Marjamäki
|
3d5781743c
|
ValueFlow: Restore handling of not
|
2015-07-16 21:17:44 +02:00 |
Daniel Marjamäki
|
15a8e4d2df
|
Temporarily revert "Fixed #4842 (condition is always true (variable is assigned constant value and then used in condition))"
This reverts commit a3fbad50cb .
The ValueFlow must be updated before this can be re-added.
|
2015-07-16 21:10:46 +02:00 |
Daniel Marjamäki
|
09efe140fe
|
ValueFlow: Change value to 'Possible' after conditional assignment in inner loop
|
2015-07-16 21:08:32 +02:00 |
Daniel Marjamäki
|
38214b6907
|
ValueFlow: function arguments only has 'possible' values
|
2015-07-16 20:49:14 +02:00 |
Daniel Marjamäki
|
fa13179c68
|
Fixed Cppcheck warning, condition is always true
|
2015-07-16 20:23:25 +02:00 |
Daniel Marjamäki
|
a3fbad50cb
|
Fixed #4842 (condition is always true (variable is assigned constant value and then used in condition))
|
2015-07-16 20:17:57 +02:00 |
Daniel Marjamäki
|
88491267d6
|
ValueFlow: Added Value::valueKind that says if value is known or possible
|
2015-07-16 17:33:16 +02:00 |
Alexander Mai
|
d45aa6170b
|
Minor refactoring in Tokenizer: Optimize for C code and use nullptr instead of 0
|
2015-07-16 00:29:48 +02:00 |
Simon Martin
|
2d8993319c
|
Ticket #6810: Avoid infinite loop upon invalid typed enum declaration.
|
2015-07-15 21:39:15 +02:00 |
Daniel Marjamäki
|
b821e996e1
|
MathLib: Add TEST_MATHLIB_VALUE that is used to test MathLib::value
|
2015-07-15 17:36:41 +02:00 |
Alexander Mai
|
b604d63dd8
|
#6726 cppcheck hangs with 100% CPU load (invalidcode) inside Token::astOperand2(). #6840 egmentation fault (invalid code) in Token::astOperand2. Improve stability on invalid code
|
2015-07-15 15:19:48 +02:00 |
Alexander Mai
|
b30d9ffe98
|
#6838 cppcheck hangs on some strange input code. Token::astOperand1/2 throw internal error on garbage code instead of creating endless recursion in AST
|
2015-07-14 21:07:10 +02:00 |
Daniel Marjamäki
|
177fd9c79d
|
MathLib: make isinf and isnan more portable
|
2015-07-14 20:48:08 +02:00 |
Antti Tuppurainen
|
a75872a15e
|
Fix uniform init in out-of-class ctor-initer
|
2015-07-14 18:09:07 +02:00 |
Daniel Marjamäki
|
405a1fba11
|
ValueFlow: set values for false/true
|
2015-07-14 18:02:26 +02:00 |
Daniel Marjamäki
|
1a872a2c9f
|
Fixed #6019 (false negative: Expression is always true/false '!(v!=10) && !(v!=20)')
|
2015-07-13 20:53:49 +02:00 |
Daniel Marjamäki
|
7ccd30362c
|
Fixed #6826 (False positive: ValueFlow conditional value used in condition)
|
2015-07-12 19:35:47 +02:00 |
Daniel Marjamäki
|
a4a866ab07
|
Fix Cppcheck warning about non-explicit constructor for MathLib::value
|
2015-07-10 21:17:17 +02:00 |
Daniel Marjamäki
|
ac04541d56
|
MathLib: Add value class. this will allow more type-independant value handling.
|
2015-07-10 20:36:38 +02:00 |
Daniel Marjamäki
|
f36f1e8952
|
MathLib: Minor tweaks. Use toDoubleNumber instead of std::atof. Only use clang workaround with clang.
|
2015-07-10 18:34:28 +02:00 |
Daniel Marjamäki
|
81d9c90890
|
Fixed Cppcheck warning caused by a redundant null pointer test.
|
2015-07-08 21:04:38 +02:00 |
Daniel Marjamäki
|
0dd008e068
|
Fixed Cppcheck warning about possible null pointer dereference
|
2015-07-08 16:06:35 +02:00 |
Daniel Marjamäki
|
5a9328f26a
|
Fixed Cppcheck warning about possible null pointer dereference
|
2015-07-08 13:41:27 +02:00 |
Simon Martin
|
7bfb1fb545
|
Simplify the code handling C++0x typed enumerations.
|
2015-07-06 23:37:16 +02:00 |
Boris Egorov
|
f7c6140e1a
|
checkautovariables: Simplify some conditions
|
2015-07-05 17:15:13 +02:00 |
Daniel Marjamäki
|
f3b4c1d0db
|
Remove some useless casts, probably added to avoid false positives.
|
2015-07-04 13:19:21 +02:00 |
Daniel Marjamäki
|
b8e77c8005
|
valueflow: fix for ?:. the condition result is not a result of the ?.
|
2015-07-04 11:17:38 +02:00 |
Daniel Marjamäki
|
fef251ac76
|
negative array size: fixed noise when array is not vla
|
2015-07-04 09:42:42 +02:00 |
Daniel Marjamäki
|
7e1ddea653
|
One more fix for #6811 (ValueFlow: result of ?:)
|
2015-07-02 20:52:04 +02:00 |
Daniel Marjamäki
|
c751039612
|
Fixed #6811 (ValueFlow: result of ?:)
|
2015-07-02 20:11:27 +02:00 |
amai2012
|
4a1695c879
|
#6807 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. #6808 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Throw InternalError on garbage code
|
2015-07-01 16:31:49 +02:00 |
Alexander Mai
|
6e03e7dca2
|
Remove some code checking for invalid class hierarchy which got obsolete since 480a5672b0 . Run astyle
|
2015-07-01 07:50:13 +02:00 |
amai2012
|
480a5672b0
|
#6298 stack overflow in Scope::findFunctionInBase (endless recursion). Fix handling of circular class hierarchy
|
2015-07-01 00:04:01 +02:00 |
amai2012
|
1604e751e5
|
Fix some compiler warnings which got introduced recently
|
2015-06-30 20:11:51 +02:00 |
amai2012
|
99dfd55d0c
|
#6804 segmentation fault (invalid code) in Token::getValueTokenDeadPointer. Fix null pointer access
TestGarbage: Increase coverage by running all code snippets as C as well as C++ code. (inspired by #6800)
|
2015-06-30 19:40:22 +02:00 |
amai2012
|
c0b91662ba
|
#6803 segmentation fault (invalid code) in Token::findClosingBracket.
|
2015-06-30 12:16:55 +02:00 |
amai2012
|
0849deed01
|
#6801 C: FN variable scope, FP unused value?. Fix typo from d7aa65c1fc
|
2015-06-30 08:46:30 +02:00 |
amai2012
|
11538c84f6
|
Refactoring: Distinguish between C and C++ code
Refactoring: Replace CheckNonReentrantFunctions::initNonReentrantFunctions by static initialization
|
2015-06-29 21:17:15 +02:00 |
Alexander Mai
|
d7aa65c1fc
|
#6800 segmentation fault (invalid code) in SymbolDatabase::SymbolDatabase. Fix null pointer access for invalid C code
|
2015-06-29 19:56:02 +02:00 |
Martin Ettl
|
b8e08ca5d8
|
Code cleanup.
|
2015-06-28 19:27:23 +02:00 |
Martin Ettl
|
7ff4d10c43
|
Astyle formatting, no functional changes.
|
2015-06-28 19:25:13 +02:00 |
amai2012
|
5814c3b84c
|
Fix some compiler warnings with VS
Minor refactoring on Windows SEH code.
|
2015-06-28 19:20:16 +02:00 |
Alexander Mai
|
0b225fa02f
|
2nd attempt to fix crash in CheckUnusedFunctions::check. CheckBufferOverrun::checkBufferAllocatedWithStrlen: Don't check for 'new' in C code.
|
2015-06-28 18:34:09 +02:00 |
Alexander Mai
|
02a3a01eca
|
Fix compiler warnings
|
2015-06-28 18:07:31 +02:00 |
Alexander Mai
|
2c73518e29
|
Fix platform-dependent test result, formatting and crash in whole program analysis
|
2015-06-28 17:54:48 +02:00 |
amai2012
|
4a47b8b3ae
|
Refactoring: Better distinguish between C and C++ in a few checks.
|
2015-06-28 16:49:16 +02:00 |
Alexander Mai
|
56e90f95d9
|
Corrections for non-Microsoft compilers
|
2015-06-28 12:34:08 +02:00 |
amai2012
|
649a89d308
|
Refactoring: Expose some previously local functions to public and add Tokenizer as argument to distinguish between C and C++ code (e.g. in isSameExpression).
Refactoring: Improve type-safety for TestFixture::assertEquals to allow tests with types which were not handled correctly (e.g. unsigned long long)
|
2015-06-28 12:08:36 +02:00 |
Alexander Mai
|
e75662aaf1
|
#6792 segmentation fault (invalid code) in TemplateSimplifier::templateParameters. Avoid null pointer access
|
2015-06-25 20:48:05 +02:00 |
amai2012
|
ac1f0301c0
|
#6791 segmentation fault (invalid code) in TokenList::createAst. Fix null pointer access
|
2015-06-25 08:57:09 +02:00 |
Alexander Mai
|
c047fae53b
|
#6790 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix null pointer access
|
2015-06-25 07:47:40 +02:00 |
Alexander Mai
|
8946fcd960
|
#6772 segmentation fault (invalid code) in Tokenizer::setVarId. Add another validate() call to Tokenizer::simplifyTokenList1. Small refactoring to Tokenizer: mark many methods as private.
|
2015-06-24 20:47:04 +02:00 |
Alexander Mai
|
6ba9c21fb9
|
#6786 segmentation fault (invalid code) in Tokenizer::simplifyRedundantParentheses. Small refactoring for Tokenizer::simplifyTokenList2() including additional calls to validate() - which prevents heap corruption on invalid code
|
2015-06-24 20:22:28 +02:00 |
amai2012
|
9fedc9bd74
|
#6788 segmentation fault (invalid code) in Tokenizer::simplifyVarDecl. Fix null pointer access
|
2015-06-24 16:54:23 +02:00 |
Alexander Mai
|
f806d945a1
|
Refactoring: Allow TemplateSimplifier to throw InternalErrors by itself.
|
2015-06-23 20:53:57 +02:00 |