Skip to content

Commit

Permalink
BaseTools/Plugin/CodeQL: Enable 30 queries
Browse files Browse the repository at this point in the history
Updates the CodeQL queries opted into by edk2 to a set of queries from
the standard CodeQL query package `codeql/cpp-queries`.

After testing a large number of queries the included set here were
found to be the most useful with the least number of false positives.
Some queries had a number of issues that led to them being placed on
the exclusion list so that they are not considered in the future
without the notes there being taken into account.

General details about queries available in the pack are available here:
https://codeql.github.com/codeql-query-help/cpp/

The issues found by these queries will need to be fixed over time. In
the meantime, the results will show to those that have permission in
the repo's GitHub Code Scanning area. The build will not fail due to
CodeQL issues (since they are not all fixed) but that can be enabled in
the future.

Cc: Bob Feng <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Michael D Kinney <[email protected]>
Cc: Rebecca Cran <[email protected]>
Cc: Sean Brogan <[email protected]>
Cc: Yuwei Chen <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
Reviewed-by: Sean Brogan <[email protected]>
Acked-by: Laszlo Ersek <[email protected]>
Acked-by: Michael D Kinney <[email protected]>
  • Loading branch information
makubacki committed Nov 7, 2023
1 parent 5e36fbf commit 628a276
Showing 1 changed file with 50 additions and 7 deletions.
57 changes: 50 additions & 7 deletions BaseTools/Plugin/CodeQL/CodeQlQueries.qls
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,71 @@
# Queries
##########################################################################################

## Enable When Time is Available to Fix Issues
# Hundreds of issues. Most appear valid. Type: Recommendation.
#- include:
# id: cpp/missing-null-test

## Errors
- include:
id: cpp/overrunning-write
id: cpp/badoverflowguard
- include:
id: cpp/infiniteloop
- include:
id: cpp/likely-bugs/memory-management/v2/conditionally-uninitialized-variable
- include:
id: cpp/missing-null-test
- include:
id: cpp/overrunning-write-with-float
id: cpp/missing-return
- include:
id: cpp/no-space-for-terminator
- include:
id: cpp/pointer-overflow-check
- include:
id: cpp/redundant-null-check-simple
- include:
id: cpp/sizeof/const-int-argument
- include:
id: cpp/sizeof/sizeof-or-operation-as-argument
- include:
id: cpp/unguardednullreturndereferenc
- include:
id: cpp/very-likely-overrunning-write

## Warnings
- include:
id: cpp/comparison-with-wider-type
- include:
id: cpp/conditionallyuninitializedvariable
- include:
id: cpp/comparison-precedence
- include:
id: cpp/implicit-bitfield-downcast
- include:
id: cpp/infinite-loop-with-unsatisfiable-exit-condition
- include:
id: cpp/offset-use-before-range-check
- include:
id: cpp/overflow-buffer
- include:
id: cpp/overflow-calculated
- include:
id: cpp/overflow-destination
- include:
id: cpp/paddingbyteinformationdisclosure
- include:
id: cpp/return-stack-allocated-memory
- include:
id: cpp/static-buffer-overflow
- include:
id: cpp/unsigned-comparison-zero
- include:
id: cpp/uselesstest

## Recommendations
- include:
id: cpp/missing-header-guard
- include:
id: cpp/unused-local-variable
- include:
id: cpp/unused-static-function
- include:
id: cpp/unused-static-variable

# Note: Some queries above are not active by default with the below filter.
# Update the filter and run the queries again to get all results.
Expand Down

0 comments on commit 628a276

Please sign in to comment.