Skip to content

Commit ddd15ab

Browse files
authored
Merge pull request #22811 from geoffw0/qualitysuite
C++: Create quality suite
2 parents 03d96b8 + 42c703b commit ddd15ab

48 files changed

Lines changed: 300 additions & 54 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,45 @@
1+
ql/cpp/ql/src/Best Practices/BlockWithTooManyStatements.ql
2+
ql/cpp/ql/src/Best Practices/ComplexCondition.ql
3+
ql/cpp/ql/src/Best Practices/Exceptions/AccidentalRethrow.ql
4+
ql/cpp/ql/src/Best Practices/Exceptions/CatchingByValue.ql
5+
ql/cpp/ql/src/Best Practices/Exceptions/LeakyCatch.ql
6+
ql/cpp/ql/src/Best Practices/Exceptions/ThrowingPointers.ql
7+
ql/cpp/ql/src/Best Practices/GuardedFree.ql
8+
ql/cpp/ql/src/Best Practices/Hiding/DeclarationHidesParameter.ql
9+
ql/cpp/ql/src/Best Practices/Hiding/DeclarationHidesVariable.ql
10+
ql/cpp/ql/src/Best Practices/Likely Errors/Slicing.ql
11+
ql/cpp/ql/src/Best Practices/RuleOfTwo.ql
12+
ql/cpp/ql/src/Best Practices/UseOfGoto.ql
13+
ql/cpp/ql/src/Critical/LargeParameter.ql
14+
ql/cpp/ql/src/Critical/NewArrayDeleteMismatch.ql
15+
ql/cpp/ql/src/Critical/NewDeleteArrayMismatch.ql
16+
ql/cpp/ql/src/Documentation/FixmeComments.ql
17+
ql/cpp/ql/src/Header Cleanup/Cleanup-DuplicateIncludeGuard.ql
18+
ql/cpp/ql/src/Likely Bugs/Arithmetic/BitwiseSignCheck.ql
19+
ql/cpp/ql/src/Likely Bugs/Arithmetic/ComparisonPrecedence.ql
20+
ql/cpp/ql/src/Likely Bugs/Arithmetic/FloatComparison.ql
21+
ql/cpp/ql/src/Likely Bugs/Arithmetic/PointlessSelfComparison.ql
22+
ql/cpp/ql/src/Likely Bugs/Arithmetic/UnsignedGEZero.ql
23+
ql/cpp/ql/src/Likely Bugs/ContinueInFalseLoop.ql
24+
ql/cpp/ql/src/Likely Bugs/Conversion/ArrayArgSizeMismatch.ql
25+
ql/cpp/ql/src/Likely Bugs/Conversion/ImplicitDowncastFromBitfield.ql
26+
ql/cpp/ql/src/Likely Bugs/Format/TooManyFormatArguments.ql
127
ql/cpp/ql/src/Likely Bugs/Likely Typos/AmbiguousAssignmentOfComparison.ql
28+
ql/cpp/ql/src/Likely Bugs/Likely Typos/AssignWhereCompareMeant.ql
29+
ql/cpp/ql/src/Likely Bugs/Likely Typos/CompareWhereAssignMeant.ql
30+
ql/cpp/ql/src/Likely Bugs/Likely Typos/DubiousNullCheck.ql
31+
ql/cpp/ql/src/Likely Bugs/Likely Typos/FutileConditional.ql
32+
ql/cpp/ql/src/Likely Bugs/Likely Typos/ShortCircuitBitMask.ql
33+
ql/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql
34+
ql/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql
35+
ql/cpp/ql/src/Likely Bugs/Memory Management/ReturnCstrOfLocalStdString.ql
36+
ql/cpp/ql/src/Likely Bugs/OO/IncorrectConstructorDelegation.ql
37+
ql/cpp/ql/src/Likely Bugs/OO/NonVirtualDestructorInBaseClass.ql
38+
ql/cpp/ql/src/Likely Bugs/OO/ThrowInDestructor.ql
39+
ql/cpp/ql/src/Likely Bugs/ReturnConstTypeMember.ql
40+
ql/cpp/ql/src/Likely Bugs/Underspecified Functions/ImplicitFunctionDeclaration.ql
41+
ql/cpp/ql/src/Likely Bugs/Underspecified Functions/TooManyArguments.ql
42+
ql/cpp/ql/src/jsf/4.07 Header Files/AV Rule 35.ql
43+
ql/cpp/ql/src/jsf/4.10 Classes/AV Rule 71.1.ql
44+
ql/cpp/ql/src/jsf/4.10 Classes/AV Rule 79.ql
45+
ql/cpp/ql/src/jsf/4.24 Control Flow Structures/AV Rule 197.ql
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,45 @@
1+
ql/cpp/ql/src/Best Practices/BlockWithTooManyStatements.ql
2+
ql/cpp/ql/src/Best Practices/ComplexCondition.ql
3+
ql/cpp/ql/src/Best Practices/Exceptions/AccidentalRethrow.ql
4+
ql/cpp/ql/src/Best Practices/Exceptions/CatchingByValue.ql
5+
ql/cpp/ql/src/Best Practices/Exceptions/LeakyCatch.ql
6+
ql/cpp/ql/src/Best Practices/Exceptions/ThrowingPointers.ql
7+
ql/cpp/ql/src/Best Practices/GuardedFree.ql
8+
ql/cpp/ql/src/Best Practices/Hiding/DeclarationHidesParameter.ql
9+
ql/cpp/ql/src/Best Practices/Hiding/DeclarationHidesVariable.ql
10+
ql/cpp/ql/src/Best Practices/Likely Errors/Slicing.ql
11+
ql/cpp/ql/src/Best Practices/RuleOfTwo.ql
12+
ql/cpp/ql/src/Best Practices/UseOfGoto.ql
13+
ql/cpp/ql/src/Critical/LargeParameter.ql
14+
ql/cpp/ql/src/Critical/NewArrayDeleteMismatch.ql
15+
ql/cpp/ql/src/Critical/NewDeleteArrayMismatch.ql
16+
ql/cpp/ql/src/Documentation/FixmeComments.ql
17+
ql/cpp/ql/src/Header Cleanup/Cleanup-DuplicateIncludeGuard.ql
18+
ql/cpp/ql/src/Likely Bugs/Arithmetic/BitwiseSignCheck.ql
19+
ql/cpp/ql/src/Likely Bugs/Arithmetic/ComparisonPrecedence.ql
20+
ql/cpp/ql/src/Likely Bugs/Arithmetic/FloatComparison.ql
21+
ql/cpp/ql/src/Likely Bugs/Arithmetic/PointlessSelfComparison.ql
22+
ql/cpp/ql/src/Likely Bugs/Arithmetic/UnsignedGEZero.ql
23+
ql/cpp/ql/src/Likely Bugs/ContinueInFalseLoop.ql
24+
ql/cpp/ql/src/Likely Bugs/Conversion/ArrayArgSizeMismatch.ql
25+
ql/cpp/ql/src/Likely Bugs/Conversion/ImplicitDowncastFromBitfield.ql
26+
ql/cpp/ql/src/Likely Bugs/Format/TooManyFormatArguments.ql
127
ql/cpp/ql/src/Likely Bugs/Likely Typos/AmbiguousAssignmentOfComparison.ql
28+
ql/cpp/ql/src/Likely Bugs/Likely Typos/AssignWhereCompareMeant.ql
29+
ql/cpp/ql/src/Likely Bugs/Likely Typos/CompareWhereAssignMeant.ql
30+
ql/cpp/ql/src/Likely Bugs/Likely Typos/DubiousNullCheck.ql
31+
ql/cpp/ql/src/Likely Bugs/Likely Typos/FutileConditional.ql
32+
ql/cpp/ql/src/Likely Bugs/Likely Typos/ShortCircuitBitMask.ql
33+
ql/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql
34+
ql/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql
35+
ql/cpp/ql/src/Likely Bugs/Memory Management/ReturnCstrOfLocalStdString.ql
36+
ql/cpp/ql/src/Likely Bugs/OO/IncorrectConstructorDelegation.ql
37+
ql/cpp/ql/src/Likely Bugs/OO/NonVirtualDestructorInBaseClass.ql
38+
ql/cpp/ql/src/Likely Bugs/OO/ThrowInDestructor.ql
39+
ql/cpp/ql/src/Likely Bugs/ReturnConstTypeMember.ql
40+
ql/cpp/ql/src/Likely Bugs/Underspecified Functions/ImplicitFunctionDeclaration.ql
41+
ql/cpp/ql/src/Likely Bugs/Underspecified Functions/TooManyArguments.ql
42+
ql/cpp/ql/src/jsf/4.07 Header Files/AV Rule 35.ql
43+
ql/cpp/ql/src/jsf/4.10 Classes/AV Rule 71.1.ql
44+
ql/cpp/ql/src/jsf/4.10 Classes/AV Rule 79.ql
45+
ql/cpp/ql/src/jsf/4.24 Control Flow Structures/AV Rule 197.ql

‎cpp/ql/src/Best Practices/BlockWithTooManyStatements.ql‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
* @problem.severity recommendation
66
* @precision high
77
* @id cpp/complex-block
8-
* @tags testability
8+
* @tags quality
9+
* testability
910
* readability
1011
* maintainability
12+
* complexity
1113
*/
1214

1315
import cpp

‎cpp/ql/src/Best Practices/ComplexCondition.ql‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
* @problem.severity recommendation
66
* @precision high
77
* @id cpp/complex-condition
8-
* @tags testability
8+
* @tags quality
9+
* testability
910
* readability
1011
* maintainability
12+
* complexity
1113
* statistical
1214
* non-attributable
1315
*/

‎cpp/ql/src/Best Practices/Exceptions/AccidentalRethrow.ql‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
* @problem.severity warning
66
* @precision high
77
* @id cpp/rethrow-no-exception
8-
* @tags reliability
8+
* @tags quality
9+
* reliability
910
* correctness
11+
* error-handling
1012
* exceptions
1113
*/
1214

‎cpp/ql/src/Best Practices/Exceptions/CatchingByValue.ql‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
* @problem.severity warning
66
* @precision very-high
77
* @id cpp/catch-by-value
8-
* @tags efficiency
8+
* @tags quality
9+
* reliability
10+
* efficiency
911
* correctness
12+
* error-handling
1013
* exceptions
1114
*/
1215

‎cpp/ql/src/Best Practices/Exceptions/LeakyCatch.ql‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
* @problem.severity warning
66
* @precision high
77
* @id cpp/catch-missing-free
8-
* @tags efficiency
8+
* @tags quality
9+
* reliability
10+
* efficiency
911
* correctness
12+
* error-handling
1013
* exceptions
1114
* external/cwe/cwe-401
1215
*/

‎cpp/ql/src/Best Practices/Exceptions/ThrowingPointers.ql‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
* @problem.severity warning
66
* @precision high
77
* @id cpp/throwing-pointer
8-
* @tags efficiency
8+
* @tags quality
9+
* reliability
10+
* efficiency
911
* correctness
12+
* error-handling
1013
* exceptions
1114
*/
1215

‎cpp/ql/src/Best Practices/GuardedFree.ql‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
* @problem.severity recommendation
77
* @precision very-high
88
* @id cpp/guarded-free
9-
* @tags maintainability
9+
* @tags quality
10+
* maintainability
1011
* readability
12+
* useless-code
1113
*/
1214

1315
import cpp

‎cpp/ql/src/Best Practices/Hiding/DeclarationHidesParameter.ql‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
* @problem.severity recommendation
66
* @precision very-high
77
* @id cpp/declaration-hides-parameter
8-
* @tags maintainability
8+
* @tags quality
9+
* maintainability
910
* readability
1011
*/
1112

0 commit comments

Comments
 (0)