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 |
amai2012
|
69f91ac187
|
#6785 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Avoid null pointer access
|
2015-06-23 17:59:01 +02:00 |
Alexander Mai
|
07bcc7157b
|
#6784 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Avoid null pointer access
|
2015-06-22 20:43:26 +02:00 |
amai2012
|
99524b1f59
|
#6780 segmentation fault (invalid code) in Token::multiCompare. Simple fix in CheckOther
|
2015-06-22 11:12:46 +02:00 |
Alexander Mai
|
b6858622eb
|
#6779 internal error: division overflow. Previous error handling (see #4520) was too restrictive.
|
2015-06-20 23:15:35 +02:00 |
Alexander Mai
|
4172011e78
|
Missing update for Makefile. CheckMemoryLeakInFunction::getcode(): skip some C++ token matching in C mode. Minor refactoring
|
2015-06-20 22:49:28 +02:00 |
Alexander Mai
|
b3c7a3f798
|
Fix more (potential) multi-threading issues
|
2015-06-20 22:26:51 +02:00 |
Simon Martin
|
7481fbb028
|
Fixed #6506 (Properly detect calls to the deallocating free() function)
|
2015-06-20 21:00:54 +02:00 |
Daniel Marjamäki
|
1d49334398
|
Fixed #6662 (False positive assignIfError (assignment in while condition))
|
2015-06-20 16:23:16 +02:00 |
Martin Ettl
|
272cf27ec3
|
Improved constness of local variable, no functional changes.
|
2015-06-20 11:33:27 +02:00 |
Daniel Marjamäki
|
63f39ea48f
|
Change unusedScopedObject severity from error to style. The checker does not determine that there is ub or wrong behaviour.
|
2015-06-20 11:22:15 +02:00 |
Simon Martin
|
cba0583045
|
Ticket #6536: Properly handle variables whose name is that of an allocation function.
|
2015-06-19 23:48:40 +02:00 |
Daniel Marjamäki
|
af4a4663e2
|
Fixed #6764 (False positive redundantCondition - !(i>1) is not i<1)
|
2015-06-19 19:49:05 +02:00 |
Daniel Marjamäki
|
02df692b0b
|
Fixed #4760 (false negative: (error) usage of uninitialized variable (struct member))
|
2015-06-19 18:21:46 +02:00 |
Alexander Mai
|
712919a691
|
#6431 Invalid XML created - Invalid encoding of string literal. Partial fix: ensure the short message string is also processed to avoid problems with non-terminated string.
|
2015-06-18 21:16:25 +02:00 |
Alexander Mai
|
60f5bd97df
|
Refactoring: missing include added, (potential) multi-threading issue fixed, expose static method to allow unit testing
|
2015-06-18 19:07:51 +02:00 |
PKEuS
|
189a652c2e
|
Fixed garbage code in checkinternal.cpp
|
2015-06-18 17:13:46 +02:00 |
Matthias Krüger
|
baaf3213e4
|
checkcondition: only print style message "A && (!A || B)' is equivalent to 'A || B'" if --enable=style is given.
|
2015-06-18 13:23:48 +02:00 |
Alexander Mai
|
13c1c2c035
|
Refactoring (use const std::set for strings). Omit some matching for C++ stuff within C code.
|
2015-06-17 22:28:15 +02:00 |
Alexander Mai
|
eebb5b8c77
|
Fix some compiler warnings in checkio.cpp. Fix some (potential) multi-threading issues in checkinternal.cpp
|
2015-06-17 21:25:15 +02:00 |
Daniel Marjamäki
|
a884362817
|
Fixed #6752 (wrong AST when there is lambda function)
|
2015-06-17 19:32:44 +02:00 |
orbitcowboy
|
06e818f89d
|
Running astyle, no functional change.
|
2015-06-17 09:09:23 +02:00 |
amai2012
|
33d7631ee3
|
Fix another Borlad-specific test by setting Windows platform type
Refactoring: make CheckIO::ArgumentInfo aware of language (C vs. C++) to perform some optimizations
|
2015-06-16 23:11:34 +02:00 |
amai2012
|
a8db00b4bf
|
Repair test which had to be adjusted after previous changeset.
Refactoring: Add some const
|
2015-06-16 22:45:33 +02:00 |