Merge tag 'codeql-cli/latest'

Compatible with the latest released version of the CodeQL CLI
This commit is contained in:
Dilan
2023-07-06 12:01:35 +00:00
152 changed files with 16259 additions and 148 deletions

View File

@@ -1,3 +1,7 @@
## 0.7.4
No user-facing changes.
## 0.7.3
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.7.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.7.3
lastReleaseVersion: 0.7.4

View File

@@ -1,5 +1,5 @@
name: codeql/cpp-all
version: 0.7.3
version: 0.7.4
groups: cpp
dbscheme: semmlecode.cpp.dbscheme
extractor: cpp

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### New Queries

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/cpp-queries
version: 0.6.3
version: 0.6.4
groups:
- cpp
- queries

View File

@@ -1,3 +1,7 @@
## 1.5.4
No user-facing changes.
## 1.5.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 1.5.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 1.5.3
lastReleaseVersion: 1.5.4

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-all
version: 1.5.3
version: 1.5.4
groups:
- csharp
- solorigate

View File

@@ -1,3 +1,7 @@
## 1.5.4
No user-facing changes.
## 1.5.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 1.5.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 1.5.3
lastReleaseVersion: 1.5.4

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-queries
version: 1.5.3
version: 1.5.4
groups:
- csharp
- solorigate

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Major Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-all
version: 0.6.3
version: 0.6.4
groups: csharp
dbscheme: semmlecode.csharp.dbscheme
extractor: csharp

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-queries
version: 0.6.3
version: 0.6.4
groups:
- csharp
- queries

View File

@@ -164,6 +164,38 @@ If the call resolves to a predicate without result, then the call is a formula.
It is also possible to call a predicate with result. This kind of call is an
expression in QL, instead of a formula. For more information, see ":ref:`calls-with-result`."
Member predicates only apply to members of a particular class and calls to
member predicates have a receiver of a matching type. Syntactically, if a call
contains a dot, then the expression before the dot specifies the receiver of
the call. For instance, ``x`` is the receiver for the call ``x.isEven()``.
For calls to member predicates of the enclosing class on the member itself
(i.e., the value of ``this``), the receiver may be omitted syntactically. In
this case we say the call has an implicit this receiver. For instance, in the
following example the ``isEven()`` call in ``isOdd()`` is a member predicate
call with an implicit this receiver and the call is equivalent to
``this.isEven()``:
.. code-block:: ql
class OneTwoThree extends int {
OneTwoThree() { this = 1 or this = 2 or this = 3 }
predicate isEven() { this = 2 }
predicate isOdd() { not isEven() }
}
Use of implicit this receivers can make it harder to spot predicates that introduce
cartesian products by failing to relate the implicit ``this`` variable with
other variables, which can negatively affect query performance. For more
information on cartesian products, see ":ref:`Troubleshooting query performance
<troubleshooting-query-performance>`".
It is possible to enable warnings about implicit this receivers for `CodeQL packs
<https://docs.github.com/en/code-security/codeql-cli/codeql-cli-reference/about-codeql-packs#warnonimplicitthis>`__
through the ``warnOnImplicitThis`` property.
.. _parenthesized-formulas:
Parenthesized formulas

View File

@@ -1,3 +1,7 @@
## 0.5.4
No user-facing changes.
## 0.5.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.5.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.5.3
lastReleaseVersion: 0.5.4

View File

@@ -1,5 +1,5 @@
name: codeql/go-all
version: 0.5.3
version: 0.5.4
groups: go
dbscheme: go.dbscheme
extractor: go

View File

@@ -1,3 +1,7 @@
## 0.5.4
No user-facing changes.
## 0.5.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.5.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.5.3
lastReleaseVersion: 0.5.4

View File

@@ -1,5 +1,5 @@
name: codeql/go-queries
version: 0.5.3
version: 0.5.4
groups:
- go
- queries

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Remove ENUM_ENTRIES
compatibility: full

View File

@@ -1701,12 +1701,13 @@ open class KotlinFileExtractor(
private fun extractSyntheticBody(b: IrSyntheticBody, callable: Label<out DbCallable>) {
with("synthetic body", b) {
when (b.kind) {
IrSyntheticBodyKind.ENUM_VALUES -> tw.writeKtSyntheticBody(callable, 1)
IrSyntheticBodyKind.ENUM_VALUEOF -> tw.writeKtSyntheticBody(callable, 2)
val kind = b.kind
when {
kind == IrSyntheticBodyKind.ENUM_VALUES -> tw.writeKtSyntheticBody(callable, 1)
kind == IrSyntheticBodyKind.ENUM_VALUEOF -> tw.writeKtSyntheticBody(callable, 2)
kind == kind_ENUM_ENTRIES -> tw.writeKtSyntheticBody(callable, 3)
else -> {
// TODO: Support IrSyntheticBodyKind.ENUM_ENTRIES
logger.errorElement("Unhandled synthetic body kind " + b.kind.javaClass, b)
logger.errorElement("Unhandled synthetic body kind " + kind, b)
}
}
}
@@ -5316,7 +5317,10 @@ open class KotlinFileExtractor(
private fun extractTypeAccessRecursive(t: IrType, location: Label<out DbLocation>, parent: Label<out DbExprparent>, idx: Int, typeContext: TypeContext = TypeContext.OTHER): Label<out DbExpr> {
val typeAccessId = extractTypeAccess(useType(t, typeContext), location, parent, idx)
if (t is IrSimpleType) {
t.arguments.forEachIndexed { argIdx, arg ->
// From 1.9, the list might change when we call erase,
// so we make a copy that it is safe to iterate over.
val argumentsCopy = t.arguments.toList()
argumentsCopy.forEachIndexed { argIdx, arg ->
extractWildcardTypeAccessRecursive(arg, location, typeAccessId, argIdx)
}
}

View File

@@ -0,0 +1,6 @@
package com.github.codeql.utils.versions
import org.jetbrains.kotlin.ir.expressions.IrSyntheticBodyKind
val kind_ENUM_ENTRIES: IrSyntheticBodyKind? = null

View File

@@ -0,0 +1,6 @@
package com.github.codeql.utils.versions
import org.jetbrains.kotlin.ir.expressions.IrSyntheticBodyKind
val kind_ENUM_ENTRIES: IrSyntheticBodyKind? = IrSyntheticBodyKind.ENUM_ENTRIES

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### New Features

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1219,6 +1219,7 @@ ktSyntheticBody(
int kind: int ref
// 1: ENUM_VALUES
// 2: ENUM_VALUEOF
// 3: ENUM_ENTRIES
)
ktLocalFunction(

View File

@@ -1,5 +1,5 @@
name: codeql/java-all
version: 0.6.3
version: 0.6.4
groups: java
dbscheme: config/semmlecode.dbscheme
extractor: java

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Add ENUM_ENTRIES
compatibility: full

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/java-queries
version: 0.6.3
version: 0.6.4
groups:
- java
- queries

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Major Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/javascript-all
version: 0.6.3
version: 0.6.4
groups: javascript
dbscheme: semmlecode.javascript.dbscheme
extractor: javascript

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/javascript-queries
version: 0.6.3
version: 0.6.4
groups:
- javascript
- queries

View File

@@ -1,3 +1,7 @@
## 0.5.4
No user-facing changes.
## 0.5.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.5.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.5.3
lastReleaseVersion: 0.5.4

View File

@@ -1,3 +1,3 @@
name: codeql/suite-helpers
version: 0.5.3
version: 0.5.4
groups: shared

View File

@@ -1,3 +1,7 @@
## 0.9.4
No user-facing changes.
## 0.9.3
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.9.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.9.3
lastReleaseVersion: 0.9.4

View File

@@ -1,5 +1,5 @@
name: codeql/python-all
version: 0.9.3
version: 0.9.4
groups: python
dbscheme: semmlecode.python.dbscheme
extractor: python

View File

@@ -1,3 +1,7 @@
## 0.7.4
No user-facing changes.
## 0.7.3
### Bug Fixes

View File

@@ -0,0 +1,3 @@
## 0.7.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.7.3
lastReleaseVersion: 0.7.4

View File

@@ -1,5 +1,5 @@
name: codeql/python-queries
version: 0.7.3
version: 0.7.4
groups:
- python
- queries

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/ruby-all
version: 0.6.3
version: 0.6.4
groups: ruby
extractor: ruby
dbscheme: ruby.dbscheme

View File

@@ -1,3 +1,7 @@
## 0.6.4
No user-facing changes.
## 0.6.3
### Minor Analysis Improvements

View File

@@ -0,0 +1,3 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.3
lastReleaseVersion: 0.6.4

View File

@@ -1,5 +1,5 @@
name: codeql/ruby-queries
version: 0.6.3
version: 0.6.4
groups:
- ruby
- queries

View File

@@ -1,3 +1,7 @@
## 0.0.15
No user-facing changes.
## 0.0.14
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.0.15
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.0.14
lastReleaseVersion: 0.0.15

View File

@@ -451,7 +451,15 @@ module Make<RegexTreeViewSig TreeImpl> {
}
bindingset[char]
override predicate matches(string char) { not hasChildThatMatches(cc, char) }
override predicate matches(string char) {
not hasChildThatMatches(cc, char) and
(
// detect unsupported char classes that doesn't match anything (e.g. `\p{L}` in ruby), and don't report any matches
hasChildThatMatches(cc, _)
or
not exists(cc.getAChild()) // [^] still matches everything
)
}
}
/**
@@ -536,7 +544,9 @@ module Make<RegexTreeViewSig TreeImpl> {
bindingset[char]
override predicate matches(string char) {
not classEscapeMatches(charClass.toLowerCase(), char)
not classEscapeMatches(charClass.toLowerCase(), char) and
// detect unsupported char classes (e.g. `\p{L}` in ruby), and don't report any matches
classEscapeMatches(charClass.toLowerCase(), _)
}
}

View File

@@ -1,5 +1,5 @@
name: codeql/regex
version: 0.0.14
version: 0.0.15
groups: shared
library: true
dependencies:

View File

@@ -1,3 +1,7 @@
## 0.0.19
No user-facing changes.
## 0.0.18
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.0.19
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.0.18
lastReleaseVersion: 0.0.19

View File

@@ -1,5 +1,5 @@
name: codeql/ssa
version: 0.0.18
version: 0.0.19
groups: shared
library: true
warnOnImplicitThis: true

View File

@@ -1,3 +1,7 @@
## 0.0.12
No user-facing changes.
## 0.0.11
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.0.12
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.0.11
lastReleaseVersion: 0.0.12

View File

@@ -1,6 +1,6 @@
name: codeql/tutorial
description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries.
version: 0.0.11
version: 0.0.12
groups: shared
library: true
warnOnImplicitThis: true

View File

@@ -1,3 +1,7 @@
## 0.0.12
No user-facing changes.
## 0.0.11
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.0.12
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.0.11
lastReleaseVersion: 0.0.12

View File

@@ -1,5 +1,5 @@
name: codeql/typetracking
version: 0.0.11
version: 0.0.12
groups: shared
library: true
dependencies:

View File

@@ -1,3 +1,7 @@
## 0.0.19
No user-facing changes.
## 0.0.18
No user-facing changes.

View File

@@ -0,0 +1,3 @@
## 0.0.19
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.0.18
lastReleaseVersion: 0.0.19

View File

@@ -1,5 +1,5 @@
name: codeql/typos
version: 0.0.18
version: 0.0.19
groups: shared
library: true
warnOnImplicitThis: true

Some files were not shown because too many files have changed in this diff Show More