747 Commits

Author SHA1 Message Date
Daniel Marjamäki
86c84029e3 New check: Check public interface of classes (#8248) 2017-10-20 02:02:51 +02:00
Florin Iucha
6e737082da Store the defined types in a map, for faster lookup 2017-10-17 09:00:14 +02:00
Ayaz Salikhov
be2c65eb58 Simplify int vs bool 2017-10-08 07:54:39 +02:00
Dmitry-Me
7e823e6d8e Extract repeating checks, break loop early 2017-09-05 00:04:48 +03:00
Dmitry-Me
79f74fc4d3 Break loop early 2017-09-05 00:00:02 +03:00
Dmitry-Me
7c8cb29d14 Extract repeating checks 2017-09-04 23:58:14 +03:00
Dmitry-Me
5885988b1f Cache and reuse value 2017-09-04 23:33:52 +03:00
Dmitry-Me
aece2254d7 Put faster checks first 2017-09-04 23:33:14 +03:00
Dmitry-Me
f7ab8c5ebb Drop unneeded parentheses
Those are a misleading leftover from old code
2017-09-04 22:49:05 +03:00
Dmitry-Me
6303437163 Resolve C4800 2017-08-15 17:42:56 +03:00
Dmitry-Me
b995e59ff2 No need for counting here 2017-08-14 18:06:23 +03:00
Ayaz Salikhov
b8cd7dbb5c Use nullptr instead of 0 or NULL (#936) 2017-08-09 20:00:26 +02:00
Robert Reif
f5044bb65f Fixed #8142 (false positive: The class 'B' has 'copy constructor' but lack of 'operator='.)
Do not count static member variables when trying to figure out if
'operator =' is needed.
2017-08-01 19:52:41 -04:00
Daniel Marjamäki
01f023dc0a CheckClass: Refactor hasAssignSelf to use AST 2017-07-28 23:49:11 +02:00
orbitcowboy
0e575ce12c Modernize: make use of 'nullptr' and added a rule-file for finding non-nullptr (zero) initializations. 2017-07-28 15:20:43 +02:00
Daniel Marjamäki
a3916c501c Refactor loop, use continue 2017-07-26 22:03:55 +02:00
Steve Browne
b58562fc7d Added test cases for catching when assignment comes after an operator, compound assignment, or comparison for ticket #7429 and fixed the tests. 2017-05-28 16:00:06 +02:00
Ayaz Salikhov
28aa939d69 iwyu - include what you use 2017-05-27 04:33:47 +02:00
PKEuS
b1f4bd7504 Refactorization: Reimplemented Settings::_enabled as a bitfeld instead of std::set (#7995) 2017-04-11 11:49:26 +02:00
Daniel Marjamäki
1faca91c1d Added 'endsWith' utility function. This will make compiling the democlient easier. 2017-04-01 18:14:18 +02:00
PKEuS
ea215c3b7b Fixed false positives in CheckClass::checkConst() due to unmatched function overloads
Fixed function matching if constness mismatches
2017-04-01 10:19:32 +02:00
Alexander Alekseev
abba762d42 New check: checking for copy ctor and eq operator co-existence 2017-03-24 12:00:20 +01:00
PKEuS
996501a449 Fixed false positive #7953: Support type conversion operators returning pointers 2017-03-23 18:12:46 +01:00
PKEuS
2f0db369f0 Refactorization: Avoid construction of empty strings by using emptyString 2017-03-01 10:50:50 +01:00
Matthias Krüger
6f1e7e897d simplify if(tok && Token::{simple,}Match) to if(Token::{simple,}Match). 2017-02-06 15:37:12 +01:00
Matthias Krüger
01e5f14bf8 CheckClass::virtualDestructorError and a variation of CheckNullPointer::nullPointerError would print inconclusive,warning messages altough no --enable=warning was given. Fix. 2016-11-23 00:13:09 +01:00
PKEuS
02d8f691f8 Fixed false positive: Do not show useInitializationList message for enums 2016-11-22 12:09:30 +01:00
Harald Scheidl
0de47f709e Fixed #7755 (false positive: member variable is not initialized in the constructor) 2016-10-26 10:39:53 +02:00
Dmitry-Me
d2e667ae7b Put apostrophes consistent with other similar messages 2016-10-18 15:45:08 +03:00
Simon Martin
dc61b6342d Ticket #7068: Treat "memset(&this->member, ..." as member initialization. 2016-10-01 13:46:58 +02:00
Daniel Marjamäki
4d22ada078 Fixed #5839 (False positive: Function can be const, if this is passed to functor) 2016-09-04 16:36:04 +02:00
Daniel Marjamäki
ce7bfba416 Refactoring CheckClass::checkConst. Use continue. 2016-09-04 16:06:54 +02:00
Daniel Marjamäki
54db79305b Redo refactoring of CheckClass::checkConst. 2016-09-04 16:02:59 +02:00
Daniel Marjamäki
530a05e40e Refactoring CheckClass::checkConst. Use continue. 2016-09-04 15:38:56 +02:00
Daniel Marjamäki
706877df2d astyle formatting
[ci skip]
2016-08-24 12:43:45 +02:00
Roberto Martelloni
4c6f4f6708 CWE mapping of functionConst, functionStatic, initializerList, badBitmaskCheck, knownConditionTrueFalse, invalidTestForOverflow, unhandledExceptionSpecification, coutCerrMisusage,
invalidPrintfArgType_int
2016-08-23 16:48:36 +01:00
Roberto Martelloni
41dee04e90 CWE mapping of assignBoolToFloat, strncatUsage, sizeArgumentAsChar, terminateStrncpy, bufferNotZeroTerminated, negativeArraySize, noExplicitConstructor, virtualDestructor 2016-08-14 18:23:41 +01:00
Dmitry-Me
89e8f51a28 Explicit continue instead of init-set-check 2016-08-05 15:05:37 +03:00
Daniel Marjamäki
50352c8d69 Fixed #3552 (Don't warn about missing ctor for class inside union) 2016-05-25 19:05:16 +02:00
Daniel Marjamäki
99fc13ee70 Fixed #6968 (unusedPrivateFunction not correct, called by inner class) 2016-05-16 20:52:50 +02:00
Daniel Marjamäki
65998f1d7c CheckClass: previous change introduced false positives when Token::function() is wrong. Avoid those false positives. 2016-05-16 10:55:22 +02:00
Daniel Marjamäki
bce15b1ade CheckClass: refactored the code, use symboldatabase instead of name comparisons when possible, fixed a FN. 2016-05-16 09:36:26 +02:00
PKEuS
17ccb0fbe6 CheckClass::checkMemsetType(): Skip arrays of pointers (#7456) 2016-05-04 13:38:36 +02: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
PKEuS
5d9f275ff8 Fixed false positive uninitMemberVar with member function of template (#7205) 2016-01-30 20:18:13 +01:00
Daniel Marjamäki
5e10e680da CWE: refactoring. use constants instead of magic numbers. 2016-01-25 20:01:48 +01:00
Roberto Martelloni
5ce69da02d Mapped 26 errors to their CWEs ID. 2016-01-24 20:53:05 +00:00
Dmitry-Me
499e15d96a Cleanup variable names, omit redundant actions 2016-01-11 13:04:52 +03:00
Lauri Nurmi
996c9244d8 Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00