v2.6.0
Pre-release
Pre-release
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-usedfor 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-filefor declarations that actually were in header files - Update the
create_release.shscript 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
- Optimized performance and expanded coverage to include cases where locking
CON52-CPP-PreventBitFieldAccessFromMultipleThreads.ql- Fixed an issue with RAII-style locks and scope causing locks to not be
correctly identified.
- Fixed an issue with RAII-style locks and scope causing locks to not be
- 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.6in conjunction with a copy of the CodeQL standard library for C++ (github/codeql) set to the tagcodeql-cli/v2.7.6. - Using the CodeQL Action or CodeQL runner with the codeql-bundle-20220120.
- Using the CodeQL CLI version
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