Skip to content

v2.6.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@jsinglet jsinglet released this 21 Jul 20:04
f8700ba

Release summary

  • New queries added for the following rule packages: Banned, Concurrency2, Preprocessor4
  • The following changes have been made for this release:
    • A3-8-1, A5-3-2, EXP54-CPP, STR51-CPP
      • All queries for these rules are now enabled by default. They previously disabled due to performance concerns.
  • Address a false positive flagged by cpp/autosar/using-directives-used for anonymous namespaces.
  • A10-2-1 - NonVirtualPublicOrProtectedFunctionsRedefinedQuery:
    • Fixed a typo that caused the derived class not to be displayed in the alert message
  • A10-3-3 - VirtualFunctionsIntroducedInFinalClassQuery
    • Fixed a typo that caused the introducing class not to be displayed in the alert message
  • Address a false positive flagged by cpp/autosar/external-linkage-not-declared-in-header-file for declarations that actually were in header files
  • Update the create_release.sh script to include query artifacts with Markdown help files
  • M3-2-1 - DeclarationsOfAnObjectShallHaveCompatibleTypes.ql
    • Use the type of the variable declaration entries instead of the variables, as variables may exist that have multiple entries with different types.
  • CON53-CPP - DeadlockByLockingInPredefinedOrder.ql
    • Optimized performance and expanded coverage to include cases where locking
      order is not serialized
  • CON52-CPP - PreventBitFieldAccessFromMultipleThreads.ql
    • Fixed an issue with RAII-style locks and scope causing locks to not be
      correctly identified.
  • Remove support for the anonymized pack because it is no longer necessary. The code scanning pack is superseding this pack.
  • Remove support for the LGTM pack because LGTM is EOL.
  • M5-18-1: Update the alert message to conform with our query style-guide.
  • CON53-CPP - DeadlockByLockingInPredefinedOrder.ql
    • Optimized performance by removing unneeded conditionals.
  • CON35-C - DeadlockByLockingInPredefinedOrder.ql
    • Optimized performance by removing unneeded conditionals.

Supported versions

  • The Code Scanning pack is supported when:
    • Using the CodeQL CLI version 2.7.6 in conjunction with a copy of the CodeQL standard library for C++ (github/codeql) set to the tag codeql-cli/v2.7.6.
    • Using the CodeQL Action or CodeQL runner with the codeql-bundle-20220120.

Appendix: MISRA-C-2012 new queries

New queries added to cover the following rules:

  • RULE-4-12 - StdLibDynamicMemoryAllocationUsed.ql
  • RULE-7-1 - OctalConstantsUsed.ql
  • RULE-8-14 - RestrictTypeQualifierUsed.ql
  • RULE-12-3 - CommaOperatorShouldNotBeUsed.ql
  • RULE-17-1 - FeaturesOfStdarghUsed.ql
  • RULE-19-2 - UnionKeywordShouldNotBeUsed.ql
  • RULE-20-4 - MacroDefinedWithTheSameNameAsKeyword.ql
  • RULE-20-6 - FunctionLikeMacroArgsContainHashTokenCQuery.ql
  • RULE-21-1 - DefineAndUndefUsedOnReservedIdentifierOrMacroName.ql
  • RULE-21-3 - MemoryAllocDeallocFunctionsOfStdlibhUsed.ql
  • RULE-21-4 - StandardHeaderFileUsedSetjmph.ql
  • RULE-21-5 - StandardHeaderFileUsedSignalh.ql
  • RULE-21-6 - StandardLibraryInputoutputFunctionsUsed.ql
  • RULE-21-7 - AtofAtoiAtolAndAtollOfStdlibhUsed.ql
  • RULE-21-8 - TerminationFunctionsOfStdlibhUsed.ql, TerminationMacrosOfStdlibhUsed.ql
  • RULE-21-9 - BsearchAndQsortOfStdlibhUsed.ql
  • RULE-21-10 - StandardLibraryTimeAndDateFunctionsUsed.ql
  • RULE-21-11 - StandardHeaderFileTgmathhUsed.ql
  • RULE-21-12 - ExceptionHandlingFeaturesOfFenvhUsed.ql
  • RULE-21-21 - SystemOfStdlibhUsed.ql

Appendix: CERT-C new queries

New queries added to cover the following rules:

  • CON35-C - DeadlockByLockingInPredefinedOrder.ql
  • CON36-C - WrapFunctionsThatCanSpuriouslyWakeUpInLoop.ql
  • ENV33-C - DoNotCallSystem.ql