Skip to content

v2.35.0

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Sep 15:30
7033ff4

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.
    • 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.
    • RULE-11-5 - ConversionFromPointerToVoidIntoPointerToObject.ql:
      • Fixed issue #331 - consider 0 a null pointer constant.
    • RULE-11-6 - CastBetweenPointerToVoidAndArithmeticType.ql:
      • Fixed issue #331 - accept integer constant expressions with value 0 instead of null pointer constants.
    • RULE-11-9 - MacroNullNotUsedAsIntegerNullPointerConstant.ql:
      • Remove false positives in branches of ternary expressions, where 0 was used correctly.
  • 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.
  • 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.
  • 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.

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 tag codeql-cli/v2.14.6.
    • Using the CodeQL Action or CodeQL runner with the codeql-bundle-v2.14.6.