v2.35.0
Release summary
-
No new queries were added for this release
-
The following changes have been made for this release:
RULE-11-1
-ConversionBetweenFunctionPointerAndOtherType.ql
:- Fixed issue #331 - consider
0
a null pointer constant.
- Fixed issue #331 - consider
RULE-11-4
-ConversionBetweenPointerToObjectAndIntegerType.ql
:- Fixed issue #331 - consider
0
a null pointer constant. - Improve reporting of the order of the cast and the actual types involved.
- Improve reporting where the result is expanded from a macro by either reporting the macro itself (if it is not dependent on the context) or by including a link to the macro in the alert message.
- Fixed issue #331 - consider
RULE-11-5
-ConversionFromPointerToVoidIntoPointerToObject.ql
:- Fixed issue #331 - consider
0
a null pointer constant.
- Fixed issue #331 - consider
RULE-11-6
-CastBetweenPointerToVoidAndArithmeticType.ql
:- Fixed issue #331 - accept integer constant expressions with value
0
instead of null pointer constants.
- Fixed issue #331 - accept integer constant expressions with value
RULE-11-9
-MacroNullNotUsedAsIntegerNullPointerConstant.ql
:- Remove false positives in branches of ternary expressions, where
0
was used correctly.
- Remove false positives in branches of ternary expressions, where
-
A2-7-3
-UndocumentedUserDefinedType.ql
:- Fixes #606. Fix false positive relating to friend functions in template classes.
-
M0-1-3
-UnusedLocalVariable.ql
:- Fixes #658. Considers usage of const/constexpr variables in array size and function parameters that are used in arguments of template functions.
-
RULE-12-2
-RightHandOperandOfAShiftRange.ql
:- Reduce false positives related to ranges determined by
%=
. - Reduce false positives for integer constants with explicit size suffix were incorrectly identified as smaller types.
- Improve explanation of results, providing additional information on types and size ranges.
- Combine results stemming from the expansion of a macro, where the result is not dependent on the context.
- Reduce false positives related to ranges determined by
-
RULE-5-8
-IdentifiersWithExternalLinkageNotUnique.ql
- Remove false positives where conflicting declarations do not appear in the same link target.
-
RULE-10-1
-OperandsOfAnInappropriateEssentialType.ql
- Reduce false negatives by supporting operands to the
~
operator with the incorrect essential type. - Reduce false positives by identifying the essential type of
!<expr>
as essentially boolean type. - Improve clarity reporting by reporting the violating operand, instead of the operator, and addressing message typos.
- Reduce false negatives by supporting operands to the
-
M0-1-9
-DeadCode.qll
:- Fixes #678. Remove dead code false positive when integer constant expression is used to define the size of an array.
-
RULE-8-3
-DeclarationsOfAnObjectSameNameAndType.ql
- Remove false positives where two conflicting declarations are never linked together.
-
M3-4-1
-UnnecessaryExposedIdentifierDeclarationShared.qll
:- Fixes #665. Exclude variables that are constexpr and coming from template instantiations.
-
RULE-7-2
-UOrUSuffixRepresentedInUnsignedType.ql
- Remove false positives where integer constants are generated from macros.
- Remove false positives where a signed integer is implicitly converted to unsigned, which is permitted by the standard.
-
A1-1-2
-CompilerWarningLevelNotInCompliance.ql
:- Report non-compliance for compilations that use the error-suppressing
-w
flag.
- Report non-compliance for compilations that use the error-suppressing
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.14.6
in conjunction with a copy of the CodeQL standard library for C++ (github/codeql
) set to the tagcodeql-cli/v2.14.6
. - Using the CodeQL Action or CodeQL runner with the codeql-bundle-v2.14.6.
- Using the CodeQL CLI version