Dmitry-Me
|
1f27c4b76b
|
Merge pull request #771 from Dmitry-Me/charUsedAsArrayIndex
Portability warning when 'char' type is used as array index
|
2016-02-10 20:11:38 +03:00 |
Daniel Marjamäki
|
3da997e163
|
astyle formatting
[ci skip]
|
2016-02-08 10:44:04 +01:00 |
Daniel Marjamäki
|
1ab5805d98
|
Fixed #6616 (valueFlowForward: for loop, variable in 3rd expression is changed in loop body)
|
2016-02-08 10:43:41 +01:00 |
Dmitry-Me
|
c3399493ef
|
Portability warning when 'char' type is used as array index
|
2016-02-08 10:08:35 +03:00 |
Daniel Marjamäki
|
c63d5cb1ae
|
CheckLeakAutoVar: fix in VarInfo::erase for referenced.
|
2016-02-07 19:54:32 +01:00 |
Daniel Marjamäki
|
a361f0192d
|
More CheckLeakAutoVar debug output
|
2016-02-07 19:53:55 +01:00 |
Daniel Marjamäki
|
34b5e0ce99
|
Fixed #6873 (False positive uninitvar - variable initialized via pointer)
|
2016-02-07 18:48:57 +01:00 |
Daniel Marjamäki
|
5fef7cc050
|
Fixed #4973 (wrong enum simplification of shadow struct variable)
|
2016-02-07 15:15:20 +01:00 |
Daniel Marjamäki
|
6c1012a8d6
|
Fixed #4625 (wrong enum simplification in shadowed enum declaration)
|
2016-02-07 13:51:03 +01:00 |
Daniel Marjamäki
|
f781f13997
|
Fixed #6806 (wrong enum simplification in initialization list)
|
2016-02-07 13:34:03 +01:00 |
PKEuS
|
f8bf2b5776
|
Removed rest of variableHidingTypedef and variableHidingEnum checking
|
2016-02-06 20:55:41 +01:00 |
Daniel Marjamäki
|
42278dd133
|
Tokenizer: skip constant folding in normal token list for C code. In C++ code we should only fold constants in template arguments.
|
2016-02-06 17:25:51 +01:00 |
amai2012
|
d25258359a
|
#7251 Remove checks variableHidingTypedef and variableHidingEnum
|
2016-02-06 15:37:58 +01:00 |
Daniel Marjamäki
|
7bd034c009
|
Fixed #7369 (False positive knownConditionTrueFalse - assertions)
|
2016-02-06 14:37:44 +01:00 |
PKEuS
|
b3a0d418e6
|
Refactorization: Compare only as much characters as necessary in Preprocessor
Fixed internal message
|
2016-02-05 21:06:07 +01:00 |
PKEuS
|
c66db46f66
|
Use ValueType in CheckOther::checkSignOfUnsignedVariable()
Fixed travis: replaced std::string::pop_back by std::string::substr
|
2016-02-05 20:43:06 +01:00 |
PKEuS
|
0847d3d19a
|
ValueType related bugfixes:
- ptrdiff_t is SIGNED
- Detect pointers to unknown types as pointers
- Do not identify bool* as boolean (#7381)
|
2016-02-05 20:29:17 +01:00 |
PKEuS
|
b4b38fb7ce
|
Use ValueType in CheckOther::invalidPointerCast()
False negative: operator new is currently not supported by ValueType.
|
2016-02-05 20:28:43 +01:00 |
PKEuS
|
4b3feebbcd
|
Refactorization: Reordered some conditions in checktype.cpp
|
2016-02-05 20:28:43 +01:00 |
PKEuS
|
6215a48dc9
|
Support member variables in CheckBool::checkAssignBoolToFloat()
|
2016-02-05 20:28:42 +01:00 |
PKEuS
|
e71e9bd538
|
CheckBool: Rely on ValueType, removed a redundant check
|
2016-02-05 15:48:51 +01:00 |
PKEuS
|
618ea498e9
|
ValueType: Support logical operators
|
2016-02-05 15:15:13 +01:00 |
PKEuS
|
35317695d4
|
ValueType: Fixed handling of constness
|
2016-02-05 13:31:31 +01:00 |
PKEuS
|
792835cd9a
|
ValueType: Support ++/--.
|
2016-02-05 12:06:44 +01:00 |
PKEuS
|
2b179dc836
|
ValueType: Properly support ternary operator with pointers (#7378)
|
2016-02-05 09:59:48 +01:00 |
Daniel Marjamäki
|
07f3930923
|
report progress in TemplateSimplifier::simplifyTemplateInstantiations, as far as I see it can be very slow
|
2016-02-05 07:59:29 +01:00 |
PKEuS
|
3b7948fb4e
|
ValueType: Support ternary operator
|
2016-02-04 21:20:05 +01:00 |
PKEuS
|
a9f52aec04
|
ValueType: Support unary arithmetical/bit operators
|
2016-02-04 21:03:54 +01:00 |
PKEuS
|
cae19cadd3
|
ValueType: Added support for static member variables and simplified code
|
2016-02-04 20:49:13 +01:00 |
PKEuS
|
b801386ac8
|
Fixed bug in Token::findClosingBracket() and broken unit test (#7277)
|
2016-02-04 10:00:54 +01:00 |
Alexander Mai
|
d3546ea410
|
#7321 segmentation fault in valueFlowSwitchVariableScope::isVariableDeclaration
|
2016-02-03 22:49:57 +01:00 |
Alexander Mai
|
cfe9c01bf8
|
#7257 segmentation fault in valueFlowSwitchVariable (invalid code). Correct SymbolDatabase::validateVariables() so it does not complain about function arguments for function without body
|
2016-02-03 21:52:02 +01:00 |
PKEuS
|
bd61b9e7b7
|
Merge pull request #776 from boos/cwe-mapping-0
Mapped 17 error ids to their CWEs …
|
2016-02-03 17:54:53 +01:00 |
Alexander Mai
|
d45f5c94cb
|
Add (disabled) function in SymbolDatabase to check variable list (e.g. find variables w/o scope). Fix some doxygen warnings.
|
2016-02-03 17:08:46 +01:00 |
Roberto Martelloni
|
50fc784550
|
Mapped error ids stlBoundaries, stlcstr, useAutoPointerContainer, useAutoPointerArray, sprintfOverlappingData, strPlusChar, shiftTooManyBits, integerOverflow, uninitstring, uninitdata, uninitvar, uninitStructMember, deadpointer, va_start_referencePassed, va_end_missing, va_list_usedBeforeStarted, va_start_subsequentCalls to their CWEs.
|
2016-02-03 12:53:23 +00:00 |
Alexander Mai
|
d12197ce1a
|
Minor refactoring, removing a redundant condition introduced in the previous changeset
|
2016-02-03 12:54:44 +01:00 |
Alexander Mai
|
ca2e3b9abb
|
#7370 False positive uselessCallsCompare on unknown type. Ensure related warnings are only issued on STL types
|
2016-02-02 20:26:02 +01:00 |
PKEuS
|
e063e97831
|
Fixed bug in Token::swapWithNext(): swap _link correctly
|
2016-02-02 17:47:36 +01:00 |
PKEuS
|
d8b75e3492
|
Fixed several bugs when deleting and swapping tokens
|
2016-02-02 17:30:14 +01:00 |
PKEuS
|
841f17776b
|
Set ValueType for assignment operators, detect division by zero for %= and /= again (#7322)
|
2016-02-02 17:17:55 +01:00 |
PKEuS
|
4b9241f643
|
Removed support for patterns like |a|b and a||b (equal to a|b|)
-> Improved performance by 1,3% (non-matchcompiled build)
|
2016-02-02 11:46:42 +01:00 |
PKEuS
|
d19b5031fa
|
Refactorization: Removed unused function.
|
2016-02-02 11:46:42 +01:00 |
Alexander Mai
|
89c9528fdc
|
Small optimization of TokenList::validateAst()
|
2016-02-02 08:55:26 +01:00 |
Daniel Marjamäki
|
39a5400b7d
|
Fix xml output for invalid chars (#6431)
|
2016-02-01 18:53:46 +01:00 |
Alexander Mai
|
a288d5eb16
|
#7027 TokenList::validateAst() did not detect broken AST with endless recursion
|
2016-01-31 22:16:58 +01:00 |
Daniel Marjamäki
|
5784aec407
|
Settings: fixed defaultSign, it only applies to char
|
2016-01-31 14:40:06 +01:00 |
Daniel Marjamäki
|
988918c9bc
|
ValueType: Use signed as default sign for short/int/long/longlong
|
2016-01-31 14:34:26 +01:00 |
PKEuS
|
c831577322
|
Removed handling of misspelled error ID stlBoundaries in Suppressions
|
2016-01-31 14:06:47 +01:00 |
Daniel Marjamäki
|
b54613a942
|
Fixed #7046 (constexpr value used as template parameter reported as not used)
|
2016-01-31 12:39:43 +01:00 |
PKEuS
|
9d2258677d
|
Improved CheckOther::checkUnusedLabel(): Write a warning instead of a style message if it happens inside a switch()
|
2016-01-31 12:07:24 +01:00 |
Daniel Marjamäki
|
c7f5ca74bd
|
VarId: Set varid for template parameters (#7046)
|
2016-01-31 11:07:30 +01:00 |
PKEuS
|
6d0c2f7253
|
Fixed false positive useClosedFile when noreturn function is called (#7359)
|
2016-01-31 10:39:35 +01:00 |
PKEuS
|
0e8777ec99
|
Fixed crash on garbage code (#7356)
|
2016-01-31 10:25:09 +01:00 |
PKEuS
|
c31f7c7a48
|
Improved flags in gui.pro:
- shlwapi.lib is not necessary if dynamic linking is used
- Do not define _CRT_SECURE_NO_WARNINGS explicitly, it gets defined anyway.
|
2016-01-31 10:10:48 +01:00 |
PKEuS
|
4d01af3fe1
|
Fixed false positive in CheckMemoryLeakStructMember when returning a member that has been allocated (#7302).
|
2016-01-31 10:10:48 +01:00 |
Daniel Marjamäki
|
f6161c6f89
|
CheckUnusedVar: My fix for #4955 was a quick fix causing false negatives. Fix some FN and add TODO to handle other FN better.
|
2016-01-31 09:11:52 +01:00 |
Daniel Marjamäki
|
d5884692df
|
Fixed #7363 (valueflowOppositeCondition - if (size1 > size2) ... else if (size1 < size2) ...)
|
2016-01-30 22:13:03 +01:00 |
PKEuS
|
3b046b42a6
|
Support function pointers in CheckUnusedVar::checkFunctionVariableUsage_iterateScopes() (#7194)
|
2016-01-30 20:59:55 +01:00 |
Daniel Marjamäki
|
b908bb18a9
|
Fixed #5503 (FP: Uninitialized variable - initialize in in if and else branch)
|
2016-01-30 20:48:28 +01:00 |
PKEuS
|
923f7f843d
|
Better distinguishing between possible and known null pointer dereferenciations (#7157)
|
2016-01-30 20:43:40 +01:00 |
Matthias Krüger
|
11be3a9265
|
fix internal warning: [lib/valueflow.cpp:722]: (warning) Found simple pattern inside Token::Match() call: "if ("
|
2016-01-30 20:34:33 +01:00 |
PKEuS
|
5d9f275ff8
|
Fixed false positive uninitMemberVar with member function of template (#7205)
|
2016-01-30 20:18:13 +01:00 |
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 |