Skip to content

Commit 7bed14b

Browse files
committed
Merge remote-tracking branch 'remotes/origin/main' into marcono1234/statement-expression
2 parents f19ade3 + 626770a commit 7bed14b

File tree

620 files changed

+17689
-20224
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

620 files changed

+17689
-20224
lines changed

.github/workflows/check-qldoc.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ jobs:
3737
done
3838
git checkout HEAD^
3939
for pack_dir in ${changed_lib_packs}; do
40+
# When we add a new language, pack_dir would not exist in HEAD^.
41+
# In this case the right thing to do is to skip the check.
42+
[[ ! -d "${pack_dir}" ]] && continue
4043
lang="${pack_dir%/ql/lib}"
4144
gh codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-baseline.txt" --dir="${pack_dir}"
4245
awk -F, '{gsub(/"/,""); if ($4==0 && $6=="public") print "\""$3"\"" }' "${RUNNER_TEMP}/${lang}-current.txt" | sort -u > "${RUNNER_TEMP}/current-undocumented.txt"

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# Byte-compiled python files
1818
*.pyc
1919

20-
# python virtual environment folder
20+
# python virtual environment folder
2121
.venv/
2222

2323
# It's useful (though not required) to be able to unpack codeql in the ql checkout itself
@@ -29,4 +29,7 @@ csharp/extractor/Semmle.Extraction.CSharp.Driver/Properties/launchSettings.json
2929
.codeql
3030

3131
# Compiled class file
32-
*.class
32+
*.class
33+
34+
# links create by bazel
35+
/bazel-*

CODEOWNERS

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,6 @@
55
/python/ @github/codeql-python
66
/ruby/ @github/codeql-ruby
77

8-
# Make @xcorail (GitHub Security Lab) a code owner for experimental queries so he gets pinged when we promote a query out of experimental
9-
/cpp/**/experimental/**/* @github/codeql-c-analysis @xcorail
10-
/csharp/**/experimental/**/* @github/codeql-csharp @xcorail
11-
/java/**/experimental/**/* @github/codeql-java @xcorail
12-
/javascript/**/experimental/**/* @github/codeql-javascript @xcorail
13-
/python/**/experimental/**/* @github/codeql-python @xcorail
14-
/ruby/**/experimental/**/* @github/codeql-ruby @xcorail
15-
168
# ML-powered queries
179
/javascript/ql/experimental/adaptivethreatmodeling/ @github/codeql-ml-powered-queries-reviewers
1810

@@ -31,3 +23,7 @@
3123

3224
# QL for QL reviewers
3325
/ql/ @github/codeql-ql-for-ql-reviewers
26+
27+
# Bazel
28+
**/*.bazel @github/codeql-ci-reviewers
29+
**/*.bzl @github/codeql-ci-reviewers

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,7 @@ After the experimental query is merged, we welcome pull requests to improve it.
7070
If you contribute to this project, we will record your name and email address (as provided by you with your contributions) as part of the code repositories, which are public. We might also use this information to contact you in relation to your contributions, as well as in the normal course of software development. We also store records of CLA agreements signed in the past, but no longer require contributors to sign a CLA. Under GDPR legislation, we do this on the basis of our legitimate interest in creating the CodeQL product.
7171

7272
Please do get in touch ([email protected]) if you have any questions about this or our data protection policies.
73+
74+
## Bazel
75+
Please notice that any bazel targets and definitions in this repository are currently experimental
76+
and for internal use only.

WORKSPACE.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Please notice that any bazel targets and definitions in this repository are currently experimental
2+
# and for internal use only.

config/identical-files.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,9 @@
7575
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll",
7676
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll"
7777
],
78-
"Model as Data Generation Java/C# - Utils": [
79-
"java/ql/src/utils/model-generator/ModelGeneratorUtils.qll",
80-
"csharp/ql/src/utils/model-generator/ModelGeneratorUtils.qll"
81-
],
82-
"Model as Data Generation Java/C# - SummaryModels": [
83-
"java/ql/src/utils/model-generator/CaptureSummaryModels.qll",
84-
"csharp/ql/src/utils/model-generator/CaptureSummaryModels.qll"
78+
"Model as Data Generation Java/C# - CaptureModels": [
79+
"java/ql/src/utils/model-generator/internal/CaptureModels.qll",
80+
"csharp/ql/src/utils/model-generator/internal/CaptureModels.qll"
8581
],
8682
"Sign Java/C#": [
8783
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/Sign.qll",
@@ -519,6 +515,10 @@
519515
"javascript/ql/lib/semmle/javascript/frameworks/data/internal/AccessPathSyntax.qll",
520516
"ruby/ql/lib/codeql/ruby/dataflow/internal/AccessPathSyntax.qll"
521517
],
518+
"IncompleteUrlSubstringSanitization": [
519+
"javascript/ql/src/Security/CWE-020/IncompleteUrlSubstringSanitization.qll",
520+
"ruby/ql/src/queries/security/cwe-020/IncompleteUrlSubstringSanitization.qll"
521+
],
522522
"Concepts Python/Ruby/JS": [
523523
"python/ql/lib/semmle/python/internal/ConceptsShared.qll",
524524
"ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll",
@@ -549,4 +549,4 @@
549549
"javascript/ql/lib/semmle/javascript/security/dataflow/HttpToFileAccessCustomizations.qll",
550550
"ruby/ql/lib/codeql/ruby/security/HttpToFileAccessCustomizations.qll"
551551
]
552-
}
552+
}

cpp/BUILD.bazel

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package(default_visibility = ["//visibility:public"])
2+
3+
load("@rules_pkg//:mappings.bzl", "pkg_filegroup")
4+
5+
alias(
6+
name = "dbscheme",
7+
actual = "//cpp/ql/lib:dbscheme",
8+
)
9+
10+
pkg_filegroup(
11+
name = "db-files",
12+
srcs = [
13+
":dbscheme",
14+
"//cpp/downgrades",
15+
"//cpp/ql/lib:dbscheme-stats",
16+
],
17+
)

cpp/downgrades/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
2+
3+
pkg_files(
4+
name = "downgrades",
5+
srcs = glob(
6+
["**"],
7+
exclude = ["BUILD.bazel"],
8+
),
9+
prefix = "cpp/downgrades",
10+
strip_prefix = strip_prefix.from_pkg(),
11+
visibility = ["//cpp:__pkg__"],
12+
)

cpp/ql/lib/BUILD.bazel

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package(default_visibility = ["//cpp:__pkg__"])
2+
3+
load("@rules_pkg//:mappings.bzl", "pkg_files")
4+
5+
pkg_files(
6+
name = "dbscheme",
7+
srcs = ["semmlecode.cpp.dbscheme"],
8+
prefix = "cpp",
9+
)
10+
11+
pkg_files(
12+
name = "dbscheme-stats",
13+
srcs = ["semmlecode.cpp.dbscheme.stats"],
14+
prefix = "cpp",
15+
)

cpp/ql/lib/CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
1+
## 0.0.13
2+
3+
## 0.0.12
4+
5+
### Breaking Changes
6+
7+
* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead.
8+
9+
### Deprecated APIs
10+
11+
* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide.
12+
The old name still exists as a deprecated alias.
13+
14+
### New Features
15+
16+
* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states.
17+
18+
### Minor Analysis Improvements
19+
20+
* `DefaultOptions::exits` now holds for C11 functions with the `_Noreturn` or `noreturn` specifier.
21+
* `hasImplicitCopyConstructor` and `hasImplicitCopyAssignmentOperator` now correctly handle implicitly-deleted operators in templates.
22+
* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted.
23+
124
## 0.0.11
225

326
### Minor Analysis Improvements

0 commit comments

Comments
 (0)