prozak
|
6592638022
|
- fix for #5749 defect: internal error
typedef expansion in cast operator was not processed correctly
|
2016-04-22 21:39:03 +08:00 |
Daniel Marjamäki
|
2a719bd194
|
Use simpleMatch for simple pattern
|
2016-04-22 06:52:37 +02:00 |
Daniel Marjamäki
|
dc2a92263a
|
Fixed #7426 (RFC: time to replace simplifyEnum?)
|
2016-04-22 06:02:54 +02:00 |
Daniel Marjamäki
|
00a584d8d1
|
astyle formatting
|
2016-04-22 06:01:34 +02:00 |
Bartlomiej Grzeskowiak
|
7e020e1d92
|
- fix for #7428 false negative: Statement is always false
|
2016-04-14 14:50:08 +02:00 |
Roberto Martelloni
|
e89cd1b8a4
|
CWE mapping of unsafeClassCanLeak, zerodivcond, invalidPointerCast, redundantCopy, redundantAssignment, comparisonFunctionIsAlwaysTrueOrFalse, checkCastIntToCharAndBack, cstyleCast, passedByValue, clarifyCondition, exceptThrowInDestructor, exceptDeallocThrow, exceptRethrowCopy, catchExceptionByValue, fflushOnInputStream, seekOnAppendedFile, publicAllocationError
CWE mapping of unsafeClassCanLeak, zerodivcond, invalidPointerCast, redundantCopy, redundantAssignment, comparisonFunctionIsAlwaysTrueOrFalse, checkCastIntToCharAndBack, cstyleCast, passedByValue, clarifyCondition, exceptThrowInDestructor, exceptDeallocThrow, exceptRethrowCopy, catchExceptionByValue, fflushOnInputStream, seekOnAppendedFile, publicAllocationError
|
2016-04-12 19:29:40 +02:00 |
Daniel Marjamäki
|
b6d3aefba6
|
1.73: Set versions
|
2016-04-08 20:46:59 +02:00 |
amai2012
|
f5e8a72dc2
|
#7438 Incorrect alloca() avoidance suggestion
|
2016-04-08 11:21:53 +02:00 |
Robert Reif
|
47634a0ada
|
Fixed #7420 ((debug) Executable scope 'foo' with unknown function.)
|
2016-03-22 14:10:20 +01:00 |
Daniel Marjamäki
|
ac8341e3de
|
keep type suffixes after constant folding using bit operations
|
2016-03-21 21:20:02 +01:00 |
Daniel Marjamäki
|
4e4873772d
|
Fixed #7395 (ValueType: Result type of assignment operators)
|
2016-03-21 19:51:09 +01:00 |
Daniel Marjamäki
|
072120d19f
|
TemplateSimplifier::templateParameters: Handling r-value arguments
|
2016-03-18 11:09:41 +01:00 |
Robert Reif
|
100c4276ea
|
Fixed #7424 (value type: wrong sign)
|
2016-03-18 10:30:57 +01:00 |
Dmitry-Me
|
12a5f2509b
|
These conditions are mutually exclusive
|
2016-03-03 18:01:15 +03:00 |
Dmitry-Me
|
3bcd0e0535
|
Reduce variable lifetime
|
2016-03-02 19:07:20 +03:00 |
Daniel Marjamäki
|
253bfe432c
|
Fixed #7410 (Tokenizer: function pointer with throw())
|
2016-02-29 08:02:02 +01:00 |
Daniel Marjamäki
|
c5c376513b
|
Fixed #7102 (Preprocessor: skip __cplusplus sections in headers when .c file is checked)
|
2016-02-29 07:34:06 +01:00 |
Alexander Mai
|
0533d7bf9c
|
Run astyle + minor refactoring
|
2016-02-27 16:03:50 +01:00 |
Roberto Martelloni
|
d3645d874e
|
Mapped toomanyconfigs ,AssignmentAddressToInteger
,AssignmentIntegerToAddress ,CastIntegerToAddressAtReturn
,CastAddressToIntegerAtReturn ,assertWithSideEffect ,assignmentInAssert
,uselessAssignmentArg ,uselessAssignmentPtrArg
,comparisonOfFuncReturningBoolError
,comparisonOfTwoFuncsReturningBoolError ,comparisonOfBoolWithBoolError
,incrementboolean ,comparisonOfBoolWithInt ,compareBoolExpressionWithInt
,negativeIndex ,pointerOutOfBounds ,arrayIndexThenCheck
,possibleBufferAccessOutOfBounds ,argumentSize
,arrayIndexOutOfBoundsCond ,noConstructor ,copyCtorPointerCopying
,noCopyConstructor ,uninitMemberVar ,operatorEqVarError
,unusedPrivateFunction ,memsetClassFloat ,mallocOnClassWarning
,operatorEq ,thisSubtraction ,operatorEqRetRefThis ,operatorEqToSelf
,useInitializationList ,duplInheritedMember ,assignIfError
,comparisonError ,multiCondition ,mismatchingBitAnd
,oppositeInnerCondition ,incorrectLogicOperator ,redundantCondition
,moduloAlwaysTrueFalse to their CWEs ids.
|
2016-02-26 23:53:52 +00:00 |
Alexander Mai
|
41dee7f970
|
#7399 CMake error: Cannot specify link libraries for target 'testrunner' (reported by user dbuchholz). Add comment to mathlib.h
|
2016-02-19 21:40:31 +01:00 |
Alexander Mai
|
5c2960713f
|
Correct false positives compareBoolExpressionWithInt (0U)
|
2016-02-19 21:38:54 +01:00 |
Robert Reif
|
0fc59d0228
|
#7069 False positive invalidPrintfArgType_uint - %lu with 0ul
|
2016-02-19 10:12:47 +01:00 |
Daniel Marjamäki
|
d964825c9f
|
ValueType: Add debug output that is shown when --verbose is used
|
2016-02-15 16:18:24 +01:00 |
Alexander Mai
|
17bb07d522
|
#6913 max-configs=1 buggs out includefile resolving in case of circular dependency. Use simplified paths for internal list of includes parsed already
|
2016-02-14 11:51:18 +01:00 |
Daniel Marjamäki
|
6c324013e7
|
Use MAXTIME in templatesimplifier
|
2016-02-12 12:05:32 +01:00 |
Daniel Marjamäki
|
cef6b35bb8
|
Improve MAXTIME handling
|
2016-02-11 16:10:52 +01:00 |
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 |