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
0a null pointer constant.
- Fixed issue #331 - consider
RULE-11-4-ConversionBetweenPointerToObjectAndIntegerType.ql:- Fixed issue #331 - consider
0a 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
0a null pointer constant.
- Fixed issue #331 - consider
RULE-11-6-CastBetweenPointerToVoidAndArithmeticType.ql:- Fixed issue #331 - accept integer constant expressions with value
0instead 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
0was 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
-wflag.
- 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.6in 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