v2.39.0
Release summary
- New queries added for the following rule packages: Alignment, InvalidMemory3
- The following changes have been made for this release:
RULE-18-8-VariableLengthArrayTypesUsed.ql:- Implement changes declared in MISRA C 2012 Amendment 4. This rule now only bans the use of VLA objects. Rules restricting the use of VLA types -- specifically, pointers to VLA types -- are now implemented in
RULE-18-10.
- Implement changes declared in MISRA C 2012 Amendment 4. This rule now only bans the use of VLA objects. Rules restricting the use of VLA types -- specifically, pointers to VLA types -- are now implemented in
EXP-35-C-DoNotModifyObjectsWithTemporaryLifetime.ql- Refactor component into a shared library, should not have any effect on rule results.
M5-0-3,M5-0-7,M5-0-8,M5-0-9-CvalueExpressionConvertedToDifferentUnderlyingType.ql,ExplicitFloatingIntegralConversionOfACValueExpr.ql,ExplicitWideningConversionOfACValueExpr.ql,ExplicitSignedness.ql:- Reduce false positives from misidentifying an explicitly casted expression used as a function argument or return value as a
cvalue.
- Reduce false positives from misidentifying an explicitly casted expression used as a function argument or return value as a
A7-1-2-VariableMissingConstexpr.ql:- Do not report on member variables if the class has un-instantiated member function(s).
- Check a call's qualifier as well whether it can be compile time evaluated or not.
A13-3-1-FunctionThatContainsForwardingReferenceAsItsArgumentOverloaded.ql:- Reduce false positives by explicitly checking that the locations of overloaded functions are different.
- Updated the CodeQL version to
2.18.4. A12-8-6-CopyAndMoveNotDeclaredProtected.ql:- Implicitly created copy and move constructors will no longer be flagged in tenplate instantiations when they are unused, or trivial (tracked at #811).
A2-10-1-IdentifierHiding.ql:- Improved evaluation performance.
- Addressed false negatives where nested loops used the same variable name.
- Exclude cases where a variable declared in a lambda expression shadowed a global or namespace variable that did not appear in the same translation unit.
RULE-5-3-IdentifierHidingC.ql:- Improved evaluation performance.
- Addressed false negatives where nested loops used the same variable name.
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.18.4in conjunction with a copy of the CodeQL standard library for C++ (github/codeql) set to the tagcodeql-cli/v2.18.4. - Using the CodeQL Action or CodeQL runner with the codeql-bundle-v2.18.4.
- Using the CodeQL CLI version
Appendix: MISRA-C-2012 new queries
New queries added to cover the following rules:
- RULE-8-15 -
RedeclarationOfObjectWithoutAlignment.ql,RedeclarationOfObjectWithUnmatchedAlignment.ql - RULE-8-16 -
AlignmentWithSizeZero.ql - RULE-8-17 -
MoreThanOneAlignmentSpecifierOnDeclaration.ql - RULE-18-9 -
ArrayToPointerConversionOfTemporaryObject.ql,ModifiableLValueSubscriptedWithTemporaryLifetime.ql - RULE-18-10 -
PointersToVariablyModifiedArrayTypesUsed.ql