v2.15.0
Pre-release
Pre-release
Release summary
- New queries added for the following rule packages: EssentialTypes, Memory1
- The following changes have been made for this release:
A13-5-2
- address a false positive where lambda expressions with empty captures were being flagged as having a non-compliant conversion operator.A0-1-2
- Addressed false positives where the return values are cast to
void
in C-style or assigned tostd::ignore
.
- Addressed false positives where the return values are cast to
A0-1-4
- Addressed false positives where the parameters are marked with attribute
[[maybe_unused]]
, or either cast tovoid
in C-style or assigned tostd::ignore
in the function body.
- Addressed false positives where the parameters are marked with attribute
RULE-8-4
-CompatibleDeclarationObjectDefined.ql
- Update rule implementation based on changes in the CodeQL libraries.
- Updated the CodeQL version to
2.10.5
. A2-10-4
-IdentifierNameOfStaticFunctionReusedInNamespace.ql
:- Reuse of an identifier name of a static function in a namespace is now detected.
A2-10-4
-IdentifierNameOfStaticNonMemberObjectReusedInNamespace.ql
:- Reuse of an identifier name of a static non-member object in a namespace is now detected.
A2-10-5
-IdentifierNameOfStaticNonMemberObjectWithExternalOrInternalLinkageIsReused.ql
:- Reuse of an identifier name of a static non-member object with internal linkage in a namespace is now detected.
A5-2-2
CStyleCasts.ql
- exclude template parameters to avoid false positives when using the "functional notation" syntax. In addition, provide a greater explanation on limitations of this query.
- Improved alert message to avoid reporting locations in standard header files, which cannot be viewed in Code Scanning, in the following queries:
-Rule 21.4
-Rule 21.5
-Rule 21.6
-Rule 21.7
-Rule 21.8
-Rule 21.9
-Rule 21.10
-Rule 21.11
-Rule 21.12
-Rule 21.21
A13-2-2
-BinaryOperatorAndBitwiseOperatorReturnAPrvalue.ql
- The formatting of the query output message has been changed and operators are now displayed starting with the return type instead of ending with it.
CON41-C
: Refactored to address compiler compatibility issues. More accurate
modeling of cases where macros are modeled against other macros such as
atomic_compare_exchange_weak
andatomic_store
.CON40-C
: Refactored to address compiler compatibility issues. More accurate
modeling of cases where macros are modeled against other macros such as
atomic_compare_exchange_weak
andatomic_store
.
STR37-C
- reduce false negatives by improving detection when the<ctype>
functions are implemented using macros.
Supported versions
- The LGTM pack is not supported on any released version of LGTM without support from GitHub Professional Services.
- The Code Scanning pack is supported when:
- Using the CodeQL CLI version
2.10.5
in conjunction with a copy of the CodeQL standard library for C++ (github/codeql
) set to the tagcodeql-cli/v2.10.5
. - Using the CodeQL Action or CodeQL runner with the codeql-bundle-20220908.
- Using the CodeQL CLI version
Appendix: MISRA-C-2012 new queries
New queries added to cover the following rules:
- RULE-9-2 -
InitializerForAggregateOrUnionNotEnclosedInBraces.ql
- RULE-9-3 -
PartiallyInitializedArrayWithExplicitInitializers.ql
- RULE-9-4 -
RepeatedInitializationOfAggregateObjectElement.ql
- RULE-10-1 -
OperandsOfAnInappropriateEssentialType.ql
,PointerTypeOnLogicalOperator.ql
- RULE-10-2 -
AdditionSubtractionOnEssentiallyCharType.ql
- RULE-10-3 -
AssignmentOfIncompatibleEssentialType.ql
- RULE-10-4 -
OperandsWithMismatchedEssentialTypeCategory.ql
- RULE-10-5 -
InappropriateEssentialTypeCast.ql
- RULE-10-6 -
AssignmentToWiderEssentialType.ql
- RULE-10-7 -
ImplicitConversionOfCompositeExpression.ql
- RULE-10-8 -
InappropriateCastOfCompositeExpression.ql
- RULE-14-1 -
LoopOverEssentiallyFloatType.ql
- RULE-21-14 -
MemcmpUsedToCompareNullTerminatedStrings.ql
- RULE-21-16 -
MemcmpOnInappropriateEssentialTypeArgs.ql