Skip to content

Commit e14b4f1

Browse files
authored
Merge branch 'main' into codeql-spark-run-22317536589
2 parents 365bae1 + ada9c45 commit e14b4f1

File tree

291 files changed

+11941
-7751
lines changed

Some content is hidden

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

291 files changed

+11941
-7751
lines changed

.bazelrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ build --compilation_mode opt
1111
common --override_module=semmle_code=%workspace%/misc/bazel/semmle_code_stub
1212

1313
build --repo_env=CC=clang --repo_env=CXX=clang++
14+
# Disable Android SDK auto-detection (we don't use it, and rules_android has Bazel 9 compatibility issues)
15+
build --repo_env=ANDROID_HOME=
1416

1517
# print test output, like sembuild does.
1618
# Set to `errors` if this is too verbose.
@@ -34,7 +36,7 @@ common --@rules_dotnet//dotnet/settings:strict_deps=false
3436
common --@rules_rust//rust/toolchain/channel=nightly
3537

3638
# Reduce this eventually to empty, once we've fixed all our usages of java, and https://github.com/bazel-contrib/rules_go/issues/4193 is fixed
37-
common --incompatible_autoload_externally="+@rules_java,+@rules_shell"
39+
common --incompatible_autoload_externally="+@rules_cc,+@rules_java,+@rules_shell"
3840

3941
build --java_language_version=17
4042
build --tool_java_language_version=17

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.4.2
1+
9.0.0

MODULE.bazel

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,22 @@ local_path_override(
1515
# see https://registry.bazel.build/ for a list of available packages
1616

1717
bazel_dep(name = "platforms", version = "1.0.0")
18-
bazel_dep(name = "rules_go", version = "0.56.1")
18+
bazel_dep(name = "rules_cc", version = "0.2.16")
19+
bazel_dep(name = "rules_go", version = "0.59.0")
20+
bazel_dep(name = "rules_java", version = "9.0.3")
1921
bazel_dep(name = "rules_pkg", version = "1.0.1")
20-
bazel_dep(name = "rules_nodejs", version = "6.2.0-codeql.1")
22+
bazel_dep(name = "rules_nodejs", version = "6.7.3")
2123
bazel_dep(name = "rules_python", version = "0.40.0")
2224
bazel_dep(name = "rules_shell", version = "0.5.0")
2325
bazel_dep(name = "bazel_skylib", version = "1.8.1")
2426
bazel_dep(name = "abseil-cpp", version = "20240116.1", repo_name = "absl")
2527
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
2628
bazel_dep(name = "fmt", version = "12.1.0-codeql.1")
27-
bazel_dep(name = "rules_kotlin", version = "2.2.0-codeql.1")
28-
bazel_dep(name = "gazelle", version = "0.40.0")
29+
bazel_dep(name = "rules_kotlin", version = "2.2.2-codeql.1")
30+
bazel_dep(name = "gazelle", version = "0.47.0")
2931
bazel_dep(name = "rules_dotnet", version = "0.21.5-codeql.1")
3032
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
31-
bazel_dep(name = "rules_rust", version = "0.66.0")
33+
bazel_dep(name = "rules_rust", version = "0.68.1.codeql.1")
3234
bazel_dep(name = "zstd", version = "1.5.5.bcr.1")
3335

3436
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
@@ -41,7 +43,7 @@ RUST_EDITION = "2024"
4143
# a nightly toolchain is required to enable experimental_use_cc_common_link, which we require internally
4244
# we prefer to run the same version as internally, even if experimental_use_cc_common_link is not really
4345
# required in this repo
44-
RUST_VERSION = "nightly/2025-08-01"
46+
RUST_VERSION = "nightly/2026-01-22"
4547

4648
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
4749
rust.toolchain(
@@ -53,26 +55,26 @@ rust.toolchain(
5355
],
5456
# generated by buildutils-internal/scripts/fill-rust-sha256s.py (internal repo)
5557
sha256s = {
56-
"2025-08-01/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz": "9bbeaf5d3fc7247d31463a9083aa251c995cc50662c8219e7a2254d76a72a9a4",
57-
"2025-08-01/rustc-nightly-x86_64-apple-darwin.tar.xz": "c9ea539a8eff0d5d162701f99f9e1aabe14dd0dfb420d62362817a5d09219de7",
58-
"2025-08-01/rustc-nightly-aarch64-apple-darwin.tar.xz": "ae83feebbc39cfd982e4ecc8297731fe79c185173aee138467b334c5404b3773",
59-
"2025-08-01/rustc-nightly-x86_64-pc-windows-msvc.tar.xz": "9f170c30d802a349be60cf52ec46260802093cb1013ad667fc0d528b7b10152f",
60-
"2025-08-01/clippy-nightly-x86_64-unknown-linux-gnu.tar.xz": "9ae5f3cd8f557c4f6df522597c69d14398cf604cfaed2b83e767c4b77a7eaaf6",
61-
"2025-08-01/clippy-nightly-x86_64-apple-darwin.tar.xz": "983cb9ee0b6b968188e04ab2d33743d54764b2681ce565e1b3f2b9135c696a3e",
62-
"2025-08-01/clippy-nightly-aarch64-apple-darwin.tar.xz": "ed2219dbc49d088225e1b7c5c4390fa295066e071fddaa2714018f6bb39ddbf0",
63-
"2025-08-01/clippy-nightly-x86_64-pc-windows-msvc.tar.xz": "911f40ab5cbdd686f40e00965271fe47c4805513a308ed01f30eafb25b448a50",
64-
"2025-08-01/cargo-nightly-x86_64-unknown-linux-gnu.tar.xz": "106463c284e48e4904c717471eeec2be5cc83a9d2cae8d6e948b52438cad2e69",
65-
"2025-08-01/cargo-nightly-x86_64-apple-darwin.tar.xz": "6ad35c40efc41a8c531ea43235058347b6902d98a9693bf0aed7fc16d5590cef",
66-
"2025-08-01/cargo-nightly-aarch64-apple-darwin.tar.xz": "dd28c365e9d298abc3154c797720ad36a0058f131265c9978b4c8e4e37012c8a",
67-
"2025-08-01/cargo-nightly-x86_64-pc-windows-msvc.tar.xz": "7b431286e12d6b3834b038f078389a00cac73f351e8c3152b2504a3c06420b3b",
68-
"2025-08-01/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.xz": "e342e305d7927cc288d386983b2bc253cfad3776b113386e903d0b302648ef47",
69-
"2025-08-01/llvm-tools-nightly-x86_64-apple-darwin.tar.xz": "e44dd3506524d85c37b3a54bcc91d01378fd2c590b2db5c5974d12f05c1b84d1",
70-
"2025-08-01/llvm-tools-nightly-aarch64-apple-darwin.tar.xz": "0c1b5f46dd81be4a9227b10283a0fcaa39c14fea7e81aea6fd6d9887ff6cdc41",
71-
"2025-08-01/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.xz": "423e5fd11406adccbc31b8456ceb7375ce055cdf45e90d2c3babeb2d7f58383f",
72-
"2025-08-01/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz": "3c0ceb46a252647a1d4c7116d9ccae684fa5e42aaf3296419febd2c962c3b41d",
73-
"2025-08-01/rust-std-nightly-x86_64-apple-darwin.tar.xz": "3be416003cab10f767390a753d1d16ae4d26c7421c03c98992cf1943e5b0efe8",
74-
"2025-08-01/rust-std-nightly-aarch64-apple-darwin.tar.xz": "4046ac0ef951cb056b5028a399124f60999fa37792eab69d008d8d7965f389b4",
75-
"2025-08-01/rust-std-nightly-x86_64-pc-windows-msvc.tar.xz": "191ed9d8603c3a4fe5a7bbbc2feb72049078dae2df3d3b7d5dedf3abbf823e6e",
58+
"2026-01-22/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz": "88db619323cc1321630d124efa51ed02fabc5e020f08cfa0eda2c0ac1afbe69a",
59+
"2026-01-22/rustc-nightly-x86_64-apple-darwin.tar.xz": "08484da3fa38db56f93629aeabdc0ae9ff8ed9704c0792d35259cbc849b3f54c",
60+
"2026-01-22/rustc-nightly-aarch64-apple-darwin.tar.xz": "a39c0b21b7058e364ea1bd43144e42e4bf1efade036b2e82455f2afce194ee81",
61+
"2026-01-22/rustc-nightly-x86_64-pc-windows-msvc.tar.xz": "d00248ee9850dbb6932b2578e32ff74fc7c429854c1aa071066ca31b65385a3b",
62+
"2026-01-22/clippy-nightly-x86_64-unknown-linux-gnu.tar.xz": "70656a0ce994ffff16d5a35a7b170a0acd41e9bb54a589c96ed45bf97b094a4d",
63+
"2026-01-22/clippy-nightly-x86_64-apple-darwin.tar.xz": "fe242519fa961522734733009705aec3c2d9a20cc57291f2aa614e5e6262c88f",
64+
"2026-01-22/clippy-nightly-aarch64-apple-darwin.tar.xz": "38bb226363ec97c9722edf966cd58774a683e19fd2ff2a6030094445d51e06f9",
65+
"2026-01-22/clippy-nightly-x86_64-pc-windows-msvc.tar.xz": "6da9b4470beea67abfebf046f141eee0d2a8db7c7a9e4e2294478734fd477228",
66+
"2026-01-22/cargo-nightly-x86_64-unknown-linux-gnu.tar.xz": "99004e9d10c43a01499642f53bb3184d41137a95d65bfb217098840a9e79e892",
67+
"2026-01-22/cargo-nightly-x86_64-apple-darwin.tar.xz": "6e021394cf8d8400ac6cfdfcef24e4d74f988e91eb8028b36de3a64ce3502990",
68+
"2026-01-22/cargo-nightly-aarch64-apple-darwin.tar.xz": "4b2494cb69ab64132cddbc411a38ea9f1105e54d6f986e43168d54f79510c673",
69+
"2026-01-22/cargo-nightly-x86_64-pc-windows-msvc.tar.xz": "c36613cf57407212d10d37b76e49a60ff42336e953cdff9e177283f530a83fc1",
70+
"2026-01-22/llvm-tools-nightly-x86_64-unknown-linux-gnu.tar.xz": "0b123c5027dbd833aae6845ffe9bd07d309bf798746a7176aadaea68fbcbd05d",
71+
"2026-01-22/llvm-tools-nightly-x86_64-apple-darwin.tar.xz": "a47864491ad5619158c950ab7570fb6e487d5117338585c27334d45824b406d8",
72+
"2026-01-22/llvm-tools-nightly-aarch64-apple-darwin.tar.xz": "db9bc826d6e2e7e914505d50157682e516ceb90357e83d77abddc32c2d962f41",
73+
"2026-01-22/llvm-tools-nightly-x86_64-pc-windows-msvc.tar.xz": "ffaa406932b2fe62e01dad61cf4ed34860a5d2a6f9306ca340d79e630d930039",
74+
"2026-01-22/rust-std-nightly-x86_64-unknown-linux-gnu.tar.xz": "e9c0d5e06e18a4b509391b3088f29293e310cdc8ccc865be8fa3f09733326925",
75+
"2026-01-22/rust-std-nightly-x86_64-apple-darwin.tar.xz": "25d75995cee679a4828ca9fe48c5a31a67c3b0846018440ef912e5a6208f53f6",
76+
"2026-01-22/rust-std-nightly-aarch64-apple-darwin.tar.xz": "e4132bf3f2eed4684c86756a02315bcf481c23e675e3e25630fc604c9cb4594c",
77+
"2026-01-22/rust-std-nightly-x86_64-pc-windows-msvc.tar.xz": "961bb535ef95ae8a5fa4e224cb94aff190f155c45a9bcf7a53e184b024aa41b1",
7678
},
7779
versions = [RUST_VERSION],
7880
)
@@ -188,6 +190,15 @@ pip.parse(
188190
)
189191
use_repo(pip, "codegen_deps")
190192

193+
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
194+
python.toolchain(
195+
is_default = True,
196+
python_version = "3.12",
197+
)
198+
use_repo(python, "python_3_12", "python_versions")
199+
200+
register_toolchains("@python_versions//3.12:all")
201+
191202
swift_deps = use_extension("//swift/third_party:load.bzl", "swift_deps")
192203

193204
# following list can be kept in sync with `bazel mod tidy`

actions/ql/lib/qlpack.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: codeql/actions-all
2-
version: 0.4.28
2+
version: 0.4.29-dev
33
library: true
44
warnOnImplicitThis: true
55
dependencies:

actions/ql/src/qlpack.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: codeql/actions-queries
2-
version: 0.6.20
2+
version: 0.6.21-dev
33
library: false
44
warnOnImplicitThis: true
55
groups: [actions, queries]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Refactored the "Year field changed using an arithmetic operation without checking for leap year" query (`cpp/leap-year/unchecked-after-arithmetic-year-modification`) to address large numbers of false positive results.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: fix
3+
---
4+
* The `allowInterproceduralFlow` predicate of must-flow data flow configurations now correctly handles direct recursion.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: breaking
3+
---
4+
* `MustFlow`, the inter-procedural must-flow data flow analysis library, has been re-worked to use parameterized modules. Like in the case of data flow and taint tracking, instead of extending the `MustFlowConfiguration` class, the user should now implement a module with the `MustFlow::ConfigSig` signature, and instantiate the `MustFlow::Global` parameterized module with the implemented module.

cpp/ql/lib/qlpack.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: codeql/cpp-all
2-
version: 7.1.1
2+
version: 7.1.2-dev
33
groups: cpp
44
dbscheme: semmlecode.cpp.dbscheme
55
extractor: cpp

cpp/ql/lib/semmle/code/cpp/commons/DateTime.qll

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ class PackedTimeType extends Type {
1414
}
1515
}
1616

17-
private predicate timeType(string typeName) { typeName = ["_SYSTEMTIME", "SYSTEMTIME", "tm"] }
17+
private predicate timeType(string typeName) {
18+
typeName = ["_SYSTEMTIME", "SYSTEMTIME", "tm", "TIME_FIELDS", "_TIME_FIELDS", "PTIME_FIELDS"]
19+
}
1820

1921
/**
2022
* A type that is used to represent times and dates in an 'unpacked' form, that is,
@@ -95,3 +97,24 @@ class StructTmMonthFieldAccess extends MonthFieldAccess {
9597
class StructTmYearFieldAccess extends YearFieldAccess {
9698
StructTmYearFieldAccess() { this.getTarget().getName() = "tm_year" }
9799
}
100+
101+
/**
102+
* A `DayFieldAccess` for the `TIME_FIELDS` struct.
103+
*/
104+
class TimeFieldsDayFieldAccess extends DayFieldAccess {
105+
TimeFieldsDayFieldAccess() { this.getTarget().getName() = "Day" }
106+
}
107+
108+
/**
109+
* A `MonthFieldAccess` for the `TIME_FIELDS` struct.
110+
*/
111+
class TimeFieldsMonthFieldAccess extends MonthFieldAccess {
112+
TimeFieldsMonthFieldAccess() { this.getTarget().getName() = "Month" }
113+
}
114+
115+
/**
116+
* A `YearFieldAccess` for the `TIME_FIELDS` struct.
117+
*/
118+
class TimeFieldsYearFieldAccess extends YearFieldAccess {
119+
TimeFieldsYearFieldAccess() { this.getTarget().getName() = "Year" }
120+
}

0 commit comments

Comments
 (0)