Geoffrey White
83aa07b22c
C++: Upgrade all 5 queries to code scanning (even cpp/implicit-function-declaration, for testing purposes).
2026-04-02 10:50:05 +01:00
Paolo Tranquilli
2d76b41293
Merge pull request #21628 from github/redsun82/vendor-picosha2
...
Vendor `PicoSHA2` into LFS
2026-04-01 15:24:41 +02:00
Paolo Tranquilli
9a1156dd62
Vendor PicoSHA2 into LFS
...
The upstream repo (`okdshin/PicoSHA2`) is a personal GitHub account,
at risk of suspension — the same scenario that hit `rules_antlr`.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-01 14:31:01 +02:00
Mathias Vorreiter Pedersen
43d002e6b5
Merge pull request #21619 from MathiasVP/more-http-remote-flow-sources
...
C++: Add flow sources from Windows' `http.h`
2026-03-31 15:44:39 +01:00
Mathias Vorreiter Pedersen
16a7e39e95
C++: Fix pointer indirection. Currently, this does not have any effect because of a conflation bug in taint-tracking.
2026-03-31 15:26:15 +01:00
Jeroen Ketema
17ab87d1fc
Merge pull request #21618 from jketema/meson-silence
...
C++: Add heuristics for meson configuration files
2026-03-31 15:24:22 +02:00
Mathias Vorreiter Pedersen
dc8dc61196
C++: Fix type name.
2026-03-31 13:54:30 +01:00
Mathias Vorreiter Pedersen
ab34bd232e
C++: Add change note.
2026-03-31 11:30:43 +01:00
Mathias Vorreiter Pedersen
9e97e0433e
C++: Accept test changes.
2026-03-31 11:30:41 +01:00
Mathias Vorreiter Pedersen
102221d0aa
C++: Add lots of taint inheriting content related to '_HTTP_REQUEST'.
2026-03-31 11:30:39 +01:00
Mathias Vorreiter Pedersen
c6d1ec5f64
C++: Add examples that need taint inheriting content.
2026-03-31 11:30:37 +01:00
Mathias Vorreiter Pedersen
21ea7ebe40
C++: Model a few more remote flow sources from 'http.h' and accept test changes.
2026-03-31 11:30:35 +01:00
Mathias Vorreiter Pedersen
18a25c5071
C++: Add tests with missing flow sources.
2026-03-31 11:30:33 +01:00
Jeroen Ketema
ceec44b819
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-31 11:08:38 +02:00
Jeroen Ketema
d2839f4ee4
C++: Add change note
2026-03-31 11:02:40 +02:00
Anders Schack-Mulligen
2bde364bdd
Merge pull request #21599 from aschackmull/csharp/constantcondition-simplify
...
C#: Simplify the ConstantCondition query.
2026-03-31 11:02:30 +02:00
Jeroen Ketema
5122f7cf92
C++: Add heuristics for meson configuration files
2026-03-31 11:02:26 +02:00
Jeroen Ketema
afd33e4dcd
C++: Add test for meson configuration files
2026-03-31 10:23:51 +02:00
Anders Schack-Mulligen
29500c7eb7
C#: Add change note.
2026-03-31 09:38:45 +02:00
Anders Schack-Mulligen
2a54dce5cb
C#: Remove redundant ConstantComparison.ql query.
2026-03-31 09:38:44 +02:00
Anders Schack-Mulligen
056be6d504
C#: Simplify the ConstantCondition query.
2026-03-31 09:38:44 +02:00
Anders Schack-Mulligen
71b38b71bf
Merge pull request #21613 from aschackmull/csharp/consistent-cs-abbrev
...
C#: Fix inconsistent casing of Cs/CS.
2026-03-31 09:22:49 +02:00
Florin Coada
cd7bb54039
Merge pull request #21615 from github/codeql-spark-run-23750999202
...
Update changelog documentation site for codeql-cli-2.25.1
2026-03-30 16:09:14 +01:00
github-actions[bot]
3c78d8a737
update codeql documentation
2026-03-30 14:50:44 +00:00
Mathias Vorreiter Pedersen
b83d4e010b
Merge pull request #21611 from MathiasVP/nsdmi-dataflow-3
...
C++: Add dataflow through NSDMI
2026-03-30 15:48:31 +01:00
Anders Schack-Mulligen
40366042a5
C#: Fix inconsistent casing of Cs/CS.
2026-03-30 15:24:32 +02:00
Jeroen Ketema
095a9cbc73
Merge pull request #21588 from jketema/jketema/compiler-error-bmn
...
C++: Silence `ExtractionRecoverableWarning`s when BMN is active
2026-03-30 14:17:26 +02:00
Mathias Vorreiter Pedersen
5db069eb56
C++: Fix more consistency errors.
2026-03-30 12:08:08 +01:00
Óscar San José
9f27a5278f
Merge pull request #21579 from github/post-release-prep/codeql-cli-2.25.1
...
Post-release preparation for codeql-cli-2.25.1
2026-03-30 12:47:59 +02:00
Mathias Vorreiter Pedersen
9247e6af0c
C++: Add change note.
2026-03-30 11:30:17 +01:00
Mathias Vorreiter Pedersen
29768bbed4
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/type-bugs.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-30 11:26:24 +01:00
Mathias Vorreiter Pedersen
78c0c7cb76
C++: Exclude flow summaries from 'irTypeBugs'.
2026-03-30 11:04:42 +01:00
Mathias Vorreiter Pedersen
503c15334a
C++: Accept test changes.
2026-03-30 11:03:52 +01:00
Mathias Vorreiter Pedersen
599b7a6653
C++: Handle fields in 'getThisType'.
2026-03-30 11:00:40 +01:00
Mathias Vorreiter Pedersen
9cb8edb41a
C++: Change 'Function' to 'Declaration' in a few places to handle enclosing callables being fields.
2026-03-30 11:00:38 +01:00
Mathias Vorreiter Pedersen
eb35fa0d5e
C++: Unify 'isSourceParameterOf' for this parameters with the implementation for positional parameters.
2026-03-30 11:00:37 +01:00
Jeroen Ketema
6692f23cbd
C++: Add change note
2026-03-30 11:50:31 +02:00
Jeroen Ketema
8349bd50ba
Merge pull request #21391 from jketema/jketema/nsdmi
...
C++: Handle field initialization via NSDMI in IR generation
2026-03-30 11:35:06 +02:00
Óscar San José
59eec7ffa2
Merge branch 'main' of https://github.com/github/codeql into post-release-prep/codeql-cli-2.25.1
2026-03-30 10:51:12 +02:00
github-actions[bot]
ce6e6d5db3
Post-release preparation for codeql-cli-2.25.1
2026-03-30 08:43:48 +00:00
Owen Mansel-Chan
898d12b0be
Merge pull request #21608 from MarkLee131/fix/tainted-arithmetic-bounds-check-barrier
...
Exclude bounds-check arithmetic from tainted-arithmetic sinks
2026-03-29 22:47:20 +01:00
MarkLee131
e6adfbca77
Address review: update QLDoc comment and fix expected test output
...
- Clarify that arithmeticUsedInBoundsCheck applies to if-condition
comparisons, not all comparisons
- Update expected test line numbers to reflect added test calls
2026-03-29 11:53:06 +08:00
Kaixuan Li
b595a70384
Update java/ql/lib/change-notes/2026-03-28-tainted-arithmetic-bounds-check.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-29 11:45:27 +08:00
Kaixuan Li
938039d82c
Merge branch 'main' into fix/tainted-arithmetic-bounds-check-barrier
2026-03-29 10:25:39 +08:00
Kaixuan Li
f5cfc5e282
Update java/ql/test/query-tests/security/CWE-190/semmle/tests/ArithmeticTainted.java
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-03-29 10:25:10 +08:00
Owen Mansel-Chan
58218ee630
Merge pull request #21594 from MarkLee131/fix/add-ec-to-secure-algorithm-whitelist
...
Add EC to secure algorithm whitelist for Java CWE-327 query
2026-03-28 17:13:19 +00:00
Owen Mansel-Chan
2b8558706f
Add sentence to change note.
2026-03-28 16:39:16 +00:00
Owen Mansel-Chan
ea9b99f67c
Rephrase change note
2026-03-28 16:36:39 +00:00
MarkLee131
0c5e89a68e
Exclude bounds-check arithmetic from tainted-arithmetic sinks
...
The java/tainted-arithmetic query now recognizes when an arithmetic
expression appears directly as an operand of a comparison (e.g.,
`if (off + len > array.length)`). Such expressions are bounds checks,
not vulnerable computations, and are excluded via the existing
overflowIrrelevant predicate.
Add test cases for bounds-checking patterns that should not be flagged.
2026-03-28 17:39:40 +08:00
MarkLee131
da4a2238bc
Address PR review: add Signature.getInstance sink, HMAC/PBKDF2 whitelist, fix test APIs
...
- Model Signature.getInstance() as CryptoAlgoSpec sink (previously only
Signature constructor was modeled)
- Add HMAC-based algorithms (HMACSHA1/256/384/512, HmacSHA1/256/384/512)
and PBKDF2 to the secure algorithm whitelist
- Fix XDH/X25519/X448 tests to use KeyAgreement.getInstance() instead of
KeyPairGenerator.getInstance() to match their key agreement semantics
- Add test cases for SHA384withECDSA, HMACSHA*, and PBKDF2WithHmacSHA1
from user-reported false positives
- Update change note to document all additions
2026-03-28 16:53:46 +08:00
MarkLee131
a9449cc991
Add EC to secure algorithm whitelist for Java CWE-327 query
2026-03-28 16:48:58 +08:00
Owen Mansel-Chan
a8b52acaa9
Merge pull request #21585 from github/copilot/convert-models-to-yml
...
C++: Convert remaining CSV models to .model.yml and remove CSV model infrastructure
2026-03-27 20:48:34 +00:00
Jeroen Ketema
0f8e39a236
C++: Silence ExtractionRecoverableWarnings when BMN is active
2026-03-27 13:42:44 +01:00
Owen Mansel-Chan
c07a814515
Add comments to converted MaD file
2026-03-27 11:23:33 +00:00
Mathias Vorreiter Pedersen
8fc914f636
Merge pull request #21591 from MathiasVP/restrict-pair-cand
...
C++: Fix join orders in virtual dispatch computation
2026-03-27 11:20:53 +00:00
Owen Mansel-Chan
7e1ad825c3
Fix model row with misaligned columns
...
The original CSV had too many columns, and copilot cut off the last one, before adding the provenance column at the end.
2026-03-27 11:17:15 +00:00
Owen Mansel-Chan
f897575d3f
Update change note
2026-03-27 10:11:13 +00:00
Paolo Tranquilli
55b95d22e9
Merge pull request #21580 from github/dependabot/bazel/rules_shell-0.7.1
...
Bump rules_shell from 0.6.1 to 0.7.1
2026-03-27 11:08:39 +01:00
Michael Nebel
73360eefb3
Merge pull request #21452 from michaelnebel/csharp/expandedassignment
...
C#: Remove expanded assignments.
2026-03-27 09:18:55 +01:00
yoff
08e115056d
Merge pull request #21519 from github/tausbn/python-port-no-alert-change
2026-03-27 08:44:28 +01:00
Michael Nebel
c4c363d4e5
Merge pull request #21589 from michaelnebel/csharp/updateintegrationtests
...
C#: Update integration tests to use SDK 10.0.201.
2026-03-26 19:51:22 +01:00
Mathias Vorreiter Pedersen
56153d583e
C++: Switch to doublyBoundedFastTC when computing virtual dispatch edges and inline pairCand to avoid a giant tuple explosion.
2026-03-26 17:31:18 +00:00
Michael Nebel
1a4f333c4a
C#: Update integration tests to use SDK 10.0.201.
2026-03-26 18:07:05 +01:00
Owen Mansel-Chan
8a99ef4531
Update csv model tests to use MaD
2026-03-26 16:44:58 +00:00
Owen Mansel-Chan
21ecf230ce
Small tweaks
2026-03-26 16:39:10 +00:00
Óscar San José
7a4b88fadc
Merge pull request #21586 from github/oscarsj/hotfix-2.25.1-base
...
Release 2.25.1 preparations
2026-03-26 16:36:02 +01:00
Owen Mansel-Chan
de4fe6d25c
Use inline expectations for query test
2026-03-26 15:27:17 +00:00
copilot-swe-agent[bot]
d69bcca687
Remove CSV model infrastructure from ExternalFlow.qll
...
Remove SourceModelCsv, SinkModelCsv, SummaryModelCsv classes,
single-argument CSV predicates, CSV parsing in MadInput, and
CSV-specific validation checks. Simplify MadInput to only contain
the namespace separator. Convert test models to .ext.yml format.
Agent-Logs-Url: https://github.com/github/codeql/sessions/89ff81fe-5585-446d-99e2-6fe6966495c5
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
2026-03-26 15:07:39 +00:00
Óscar San José
fe565baf06
Apply suggestions from code review
...
Co-authored-by: Óscar San José <oscarsj@github.com >
2026-03-26 15:54:35 +01:00
Owen Mansel-Chan
64a52ba07f
Update test that uses zmq models
2026-03-26 14:53:33 +00:00
Óscar San José
a5be35170b
Missing file
2026-03-26 15:26:16 +01:00
Owen Mansel-Chan
6769f08f93
Remove blank line at end of file
2026-03-26 14:10:15 +00:00
Tom Hvitved
c66679c03b
Merge pull request #21564 from hvitved/rust/type-inference-additional-constraints
...
Rust: Take additional type parameter constraints into account
2026-03-26 14:38:06 +01:00
Michael Nebel
41bb349a9b
C#: Improve the downgrade script.
2026-03-26 14:34:54 +01:00
Óscar San José
805c2c3c3c
Merge remote-tracking branch 'origin/codeql-cli-2.25.1' into oscarsj/hotfix-2.25.1-base
2026-03-26 14:29:44 +01:00
Florin Coada
8382a352d4
Merge pull request #21558 from github/codeql-spark-run-23458057791
...
Update changelog documentation site for codeql-cli-2.25.0
2026-03-26 13:45:50 +01:00
Óscar San José
b2d9a600e5
Merge pull request #21486 from github/post-release-prep/codeql-cli-2.25.0
...
Post-release preparation for codeql-cli-2.25.0
2026-03-26 13:45:15 +01:00
copilot-swe-agent[bot]
a6377145ac
Convert C++ CSV models from QL files to .model.yml data extensions
...
Migrate ZeroMQ models from ZMQ.qll and getc-family source models
from Gets.qll into new .model.yml files in the ext/ directory.
Agent-Logs-Url: https://github.com/github/codeql/sessions/da8f5e5b-35f7-47a4-afa0-750616e3df5b
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
2026-03-26 12:38:19 +00:00
copilot-swe-agent[bot]
4748c4a4f5
Initial plan
2026-03-26 12:31:21 +00:00
Michael Nebel
a5f27b8f19
C#: Add change-note.
2026-03-26 11:52:42 +01:00
Michael Nebel
a402ce59f4
C#: Fix bad join in cs/coalesce-of-identical-expressions.
2026-03-26 10:45:02 +01:00
dependabot[bot]
94ad234a28
Bump rules_shell from 0.6.1 to 0.7.1
...
Bumps [rules_shell](https://github.com/bazel-contrib/rules_shell ) from 0.6.1 to 0.7.1.
- [Release notes](https://github.com/bazel-contrib/rules_shell/releases )
- [Commits](https://github.com/bazel-contrib/rules_shell/compare/v0.6.1...v0.7.1 )
---
updated-dependencies:
- dependency-name: rules_shell
dependency-version: 0.7.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-26 03:07:47 +00:00
Óscar San José
970b57cbe7
Merge pull request #21578 from github/release-prep/2.25.1
...
Release preparation for version 2.25.1
2026-03-26 00:51:30 +01:00
github-actions[bot]
fb011842c9
Release preparation for version 2.25.1
2026-03-25 23:43:06 +00:00
Jeroen Ketema
ab1f0c13e5
C++: Update expected test results
2026-03-25 16:36:31 +01:00
Jeroen Ketema
ef780c15fb
C++: NSDMI fixes
...
* Do not generate IR for field initializers from uninstantiated templates.
* Add forgotten case to `TranslatedDeclarationEntry`
2026-03-25 16:34:02 +01:00
Jeroen Ketema
346ab9d623
C++: Add struct and variable template tests
2026-03-25 16:31:28 +01:00
Michael Nebel
147ac37fec
C#: Add downgrade script.
2026-03-25 16:09:39 +01:00
Michael Nebel
29acd6960f
C#: Add upgrade script.
2026-03-25 16:09:26 +01:00
Tom Hvitved
09a2dd4a2e
Update rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-25 15:01:39 +01:00
Paolo Tranquilli
6c52de9234
Merge pull request #21566 from github/redsun82/csharp-opt-out-of-dotnet-telemetry
...
C#: Opt out of dotnet CLI telemetry
2026-03-25 14:55:33 +01:00
Tom Hvitved
c579ec9ea7
Merge pull request #21575 from hvitved/rust/model-generator-taint-steps
...
Rust: Include taint steps when generating flow models
2026-03-25 14:41:36 +01:00
Owen Mansel-Chan
898713538f
Merge pull request #21563 from owen-mc/rust/allow-mad-barriers
...
Rust: Enable MaD barriers for queries with MaD sinks
2026-03-25 12:55:31 +00:00
Tom Hvitved
fba4a83dc8
Rust: Include taint steps when generating flow models
2026-03-25 12:52:08 +01:00
Owen Mansel-Chan
f25d7456da
Fix QL formatting
2026-03-25 10:05:04 +00:00
Óscar San José
851315fb93
Merge pull request #21573 from github/release-prep/2.25.1
...
Release preparation for version 2.25.1
2026-03-25 10:55:04 +01:00
Tom Hvitved
6295f57a87
Rust: Take additional type parameter constraints into account
2026-03-25 10:11:04 +01:00
github-actions[bot]
8cf0954796
Release preparation for version 2.25.1
2026-03-25 08:28:30 +00:00
Owen Mansel-Chan
bedfe1e755
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-03-24 22:06:53 +00:00
Simon Friis Vindum
0ed037d667
Merge pull request #21544 from paldepind/cpp/extraction-information-expr-types
...
C++: Add expressions with type data to `cpp/extraction-information`
2026-03-24 17:16:47 +01:00
Jeroen Ketema
dad517ff5e
C++: Fix typo
2026-03-24 16:16:14 +01:00
Jeroen Ketema
db7c61969d
Update cpp/ql/lib/change-notes/2026-03-24-field-init.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-24 16:11:10 +01:00
Jeroen Ketema
49c5cc05ac
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-24 16:09:33 +01:00
Simon Friis Vindum
8cb5380d84
C++: Remove unused find predicate
2026-03-24 15:54:46 +01:00
Tom Hvitved
ddc407257f
Rust: Type inference test
2026-03-24 15:41:43 +01:00
Jeroen Ketema
0f44d6a780
C++: Add change note
2026-03-24 15:39:09 +01:00
Jeroen Ketema
4a637cbe0a
C++: Accept dataflow test changes
...
These need to be looked at, but because data flow through default field
initialization is currently not working, let's postpone this as part of that
work.
2026-03-24 15:34:34 +01:00
Jeroen Ketema
b554d7dd16
C++: Fix QL-for-QL warnings
2026-03-24 15:33:35 +01:00
Jeroen Ketema
f3fc80a080
C++: Update expected test results
2026-03-24 15:33:34 +01:00
Jeroen Ketema
22eda4ef0a
C++: Add call side effects for default field initializations to the IR
2026-03-24 15:33:32 +01:00
Jeroen Ketema
e986d8922a
C++: Call functions for NSDMI initialization
...
Currently missing: side-effect information for the functions
2026-03-24 15:33:30 +01:00
Jeroen Ketema
b91a52a050
C++: Allow getInstructionFunction to yield a declaration
2026-03-24 15:33:29 +01:00
Jeroen Ketema
9e60e1217f
C++: Update expected test results
2026-03-24 15:33:27 +01:00
Jeroen Ketema
09f930f4e8
C++: Generate initialization function for each NSDMI
2026-03-24 15:33:25 +01:00
Jeroen Ketema
68039ecd68
C++: Add NSDMI dataflow test
2026-03-24 15:33:24 +01:00
Jeroen Ketema
59c27a2196
C++: Add NSDMI tests
2026-03-24 15:33:22 +01:00
Jeroen Ketema
07603a835a
C++: Rename CallOrAllocationExpr to something more generic
2026-03-24 15:33:20 +01:00
Jeroen Ketema
5aabd90eff
C++: Add direct and default initialization subclasses for ConstructorFieldInit
2026-03-24 15:32:58 +01:00
Michael Nebel
d96e8cb704
C#: Remove expr_parent_adjusted.
2026-03-24 15:32:20 +01:00
Michael Nebel
a900fe8657
C#: Adress review comments.
2026-03-24 15:32:17 +01:00
Michael Nebel
3d2d09d0bc
C#: Use the DB types and replace the abstract class implementation.
2026-03-24 15:32:15 +01:00
Michael Nebel
96f55fbdf1
C#: Add operation types to the DB scheme.
2026-03-24 15:32:13 +01:00
Michael Nebel
55516342b2
C#: Add/update tests and expected output.
2026-03-24 15:32:11 +01:00
Michael Nebel
51673312c5
C#: Upgrade libraries and queries to use the new Operation classes.
2026-03-24 15:32:08 +01:00
Michael Nebel
149df86ce2
C#: Update the CFG implementation based on the new operations and remove hack that rotates children of assignments.
2026-03-24 15:32:06 +01:00
Michael Nebel
569e33b407
C#: Introduce a new kind of assignable definitions for compound assignments (those that was previously covered by expanded assignments).
2026-03-24 15:32:04 +01:00
Michael Nebel
e2afb000b2
C#: Cleaup expanded assignments from the dispatch logic.
2026-03-24 15:32:02 +01:00
Michael Nebel
2a78183238
C#: Deprecate the expanded assignment predicate as we no longer extract expanded assignments.
2026-03-24 15:32:00 +01:00
Michael Nebel
327757dbcb
C#: Update the child indices for assignments, update Assign classes to extend OperatorCall and add AssignOperation classes.
2026-03-24 15:31:57 +01:00
Michael Nebel
b426c6fb39
C#: Update the DB scheme to reflect that assign arithmetic- and bitwise operations are operator calls.
2026-03-24 15:31:55 +01:00
Michael Nebel
c8169f576f
C#: Don't extract expanded assignments and swap child indices for assignments.
2026-03-24 15:31:53 +01:00
Paolo Tranquilli
14b3f6211e
C#: Opt out of dotnet CLI telemetry
...
Add `DOTNET_CLI_TELEMETRY_OPTOUT=1` to the minimal environment used for
all `dotnet` invocations. The telemetry is unnecessary and may even be
causing segfaults in some cases.
2026-03-24 14:16:49 +01:00
Taus
059693ce89
Python: Restrict ShouldBeContextManager.ql results
...
By limiting the results to the class that actually defines the `__del__`
method, we eliminate a bunch of FPs where a _subclass_ of such a class
would also get flagged.
2026-03-24 13:04:44 +00:00
Florin Coada
70d8c1c76e
Merge pull request #21558 from github/codeql-spark-run-23458057791
...
Update changelog documentation site for codeql-cli-2.25.0
2026-03-24 12:54:23 +00:00
Taus
f245da1e52
Merge pull request #21560 from github/tausbn/cpp-fix-bad-join-in-printf
...
C++: Fix bad join in `callsVariadicFormatter`
2026-03-24 13:37:23 +01:00
Owen Mansel-Chan
7e6319d648
Remove unused field
2026-03-24 10:39:32 +00:00
Owen Mansel-Chan
93231794ee
Document that MaD barriers for hardcoded credentials apply to all kinds
2026-03-24 10:39:05 +00:00
Owen Mansel-Chan
5762191832
Enable MaD barriers for queries with MaD sinks
2026-03-24 10:28:25 +00:00
Owen Mansel-Chan
fd8821fcb5
Merge pull request #21475 from owen-mc/rust/mad-barriers
...
Rust: Add support for defining barriers and barrier guards using models-as-data
2026-03-24 09:31:24 +00:00
Tom Hvitved
cc99867969
Merge pull request #21511 from hvitved/ruby/empty-stats
...
Ruby: Use empty DB stats
2026-03-24 08:25:43 +01:00
Taus
2e76f3471a
C++: Fix bad join in callsVariadicFormatter
...
On `wireshark` this reduces the intermediate tuple count from roughly 88
million tuples to roughly 3000 (with the new helper predicate
materialising ~300 tuples).
2026-03-23 23:17:22 +00:00
github-actions[bot]
19424627c1
update codeql documentation
2026-03-23 20:19:09 +00:00
Mathias Vorreiter Pedersen
680ea0b960
Merge pull request #21552 from MathiasVP/more-public-dataflow-apis
...
C++: Expose indirect instructions and indirect parameters in dataflow
2026-03-23 17:46:14 +00:00
Mario Campos
a5763303fc
Merge pull request #21557 from github/rc/3.21
...
Merge back remaining changes from rc/3.21
2026-03-23 12:28:34 -05:00
Owen Mansel-Chan
8d16a2b4fa
Fix parameter -> argument in QLDoc
2026-03-23 16:24:03 +00:00
Owen Mansel-Chan
97ebc0e839
Update QLDoc in FlowBarrier.qll
2026-03-23 16:22:27 +00:00
Owen Mansel-Chan
d82fc67b36
Fix QLDoc formatting
2026-03-23 16:11:22 +00:00
Taus
ac48eca916
Python: Use cls.getMethod instead of getName
2026-03-23 15:26:00 +00:00
Taus
93e35661e6
Python: Make isNewType more precise
...
For module-level metaclass declarations, we now also check that the
right hand side in a `__metaclass__ = type` assignment is in fact the
built-in `type`.
2026-03-23 15:22:24 +00:00
Taus
a276f721f7
Python: Add ternary overridesMethod
...
This one also allows easy access to the method being overridden and the
class on which it resides. This let's us simplify DocStrings.ql
accordingly.
2026-03-23 15:21:27 +00:00
Taus
1ffcdc9293
Python: Select property instead of function
...
in PropertyInOldStyleClass. This matches the previous behaviour more
closely.
2026-03-23 14:55:28 +00:00
Taus
56c83e250e
Python: Make comment more precise
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 15:09:27 +01:00
Taus
5859590b5d
Python: Fix typo in comment
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 15:07:31 +01:00
Mathias Vorreiter Pedersen
8cebf510dc
C++: Reword the change note from #21458 .
2026-03-23 13:45:46 +00:00
Mathias Vorreiter Pedersen
b5723bd75d
Merge branch 'main' into more-public-dataflow-apis
2026-03-23 13:43:01 +00:00
Mathias Vorreiter Pedersen
fef314e27f
C++: Add change note.
2026-03-23 13:39:15 +00:00
Mathias Vorreiter Pedersen
1363c54a9f
C++: Add 'asIndirectInstruction' as a public predicate.
2026-03-23 13:28:33 +00:00
Mathias Vorreiter Pedersen
09caeca7e9
C++: Move parameter indirection nodes into the public API.
2026-03-23 13:27:20 +00:00
Simon Friis Vindum
c67122b3f1
C++: Add expressions with type data to cpp/extraction-information
2026-03-23 12:14:11 +01:00
Tom Hvitved
0d0d34cc71
Merge pull request #21498 from Gregro/csharp/fix-log-forging-extension-methods
...
C#: Fix false positives in cs/log-forging for extension methods
2026-03-23 11:24:12 +01:00
Jeroen Ketema
be245357cc
Merge pull request #21458 from github/jeongsoolee09/add-getIndirectionIndex
...
Add `IndirectUninitializedNode` and related helper predicates
2026-03-23 11:03:57 +01:00
Jeroen Ketema
ee00b98476
Update cpp/ql/lib/change-notes/2026-03-20-add-indirect-uninitialized-node.md
2026-03-23 10:44:21 +01:00
Jeongsoo Lee
6ae32f22a8
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-22 11:51:14 -04:00
Gregro
a59c865328
let interprocedural analysis handle source-available extension methods for LogForgingLogMessageSink's
2026-03-21 20:05:08 +00:00
Gregro
d0c48893f5
update test helper to use more robust .ReplaceLineEndings() sanitizer
2026-03-21 20:05:08 +00:00
Gregro
d99247cf13
Clarify static extension method class name
2026-03-21 20:05:08 +00:00
Gregro
a9eb801fea
C#: Fix false positives in cs/log-forging for extension methods
2026-03-21 20:05:08 +00:00
Tom Hvitved
9a4bc69843
Merge pull request #21510 from hvitved/ci/remove-ruby-checks
...
CI: Remove Ruby checks
2026-03-21 08:04:17 +01:00
Jeongsoo Lee
d4fef1c68e
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-20 10:01:05 -07:00
Jeongsoo Lee
d2fcced5ad
Add a feature change note
2026-03-20 09:59:12 -07:00
Owen Mansel-Chan
093c27955f
Fix incorrect QLDoc
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 15:24:15 +00:00
Tom Hvitved
f99f26f908
Merge pull request #21464 from hvitved/rust/type-inference-trait-bound-impl-overlap
...
Rust: Disambiguate types inferred from trait bounds
2026-03-20 15:14:24 +01:00
Taus
434b3973eb
Python: Add change note
2026-03-20 13:30:29 +00:00
Taus
3584ad1905
Python: Port DeprecatedSliceMethod.ql
...
Only trivial test changes.
2026-03-20 13:30:29 +00:00
Taus
50b3b7ee1f
Python: Add DuckTyping::hasUnreliableMro
...
Primarily used to filter out false positives in cases where our MRO
approximation may be wrong.
2026-03-20 13:30:29 +00:00
Taus
fa8e4f7314
Python: Port DocStrings.ql
2026-03-20 13:28:45 +00:00
Taus
c04b615a07
Python: Extend DuckTyping module
...
Adds `overridesMethod` and `isPropertyAccessor`.
2026-03-20 13:28:45 +00:00
Taus
283231bdbc
Python: Port ShouldBeContextManager.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
025a7d0cca
Python: Port UselessClass.ql
...
No test changes.
2026-03-20 13:28:45 +00:00
Taus
8cfdea2001
Python: Port PropertyInOldStyleClass.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
e860d706c9
Python: Port SuperInOldStyleClass.ql
2026-03-20 13:28:45 +00:00
Taus
3d20050c0a
Python: Port SlotsInOldStyleClass.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
b57e92164c
Python: Add declares/getAttribute API
...
These could arguably be moved to `Class` itself, but for now I'm
choosing to limit the changes to the `DuckTyping` module (until we
decide on a proper API).
2026-03-20 13:28:45 +00:00
Taus
cd92162920
Python: Add DuckTyping::isNewStyle
...
Approximates the behaviour of `Types::isNewStyle` but without depending
on points-to
2026-03-20 13:28:45 +00:00
Taus
33ed6034f6
Python: Introduce DuckTyping module
...
This module (which for convenience currently resides inside
`DataFlowDispatch`, but this may change later) contains convenience
predicates for bridging the gap between the data-flow layer and the old
points-to analysis.
2026-03-20 13:28:44 +00:00
Taus
1dcc76996d
Python: Port py/print-during-import
...
Uses a (perhaps) slightly coarser approximation of what modules are
imported, but it's probably fine.
2026-03-20 13:28:44 +00:00
Taus
f4841e1f39
Python: Use API graphs instead of points-to for simple built-ins
...
Also extends the list of known built-ins slightly, to add some that were
missing.
2026-03-20 13:28:44 +00:00
Simon Friis Vindum
f6c81ff30a
Merge pull request #21512 from paldepind/cpp/extraction-information
...
C++: Add `cpp/extraction-information` query
2026-03-20 14:12:59 +01:00
Tom Hvitved
4b364639a2
Ruby: Fix join orders following DB stats removal
2026-03-20 13:13:38 +01:00
Owen Mansel-Chan
bde9378cee
Update MaD barrier guard test output
2026-03-20 11:10:08 +00:00
Owen Mansel-Chan
769b3a6aae
Instantiate flow barrier guards from MaD
2026-03-20 11:08:53 +00:00
Owen Mansel-Chan
7d65baccb2
Add FlowBarrierGuard to FlowBarrier.qll
2026-03-20 11:08:33 +00:00
Owen Mansel-Chan
77cb35380c
Add MaD barrier guard model to make test pass
2026-03-20 11:06:41 +00:00
Owen Mansel-Chan
c5457d3e30
Add (failing) test for MaD barrier guard
2026-03-20 11:06:39 +00:00
Owen Mansel-Chan
2f0d3288ce
Misc: fix typos in QLDocs
2026-03-20 11:06:38 +00:00
Owen Mansel-Chan
93c656065d
Add test for MaD barriers
2026-03-20 11:06:36 +00:00
Owen Mansel-Chan
e86ce8feed
Instantiate flow barriers from MaD
2026-03-20 11:06:35 +00:00
Owen Mansel-Chan
d3177b9e82
Add FlowBarrier.qll
2026-03-20 11:06:33 +00:00
Owen Mansel-Chan
f4550544ce
Shared: Add barrierElement in FlowSummaryImpl.qll
2026-03-20 11:06:32 +00:00
Owen Mansel-Chan
f9521e9e88
Update interpretModelForTest
2026-03-20 11:06:30 +00:00
Owen Mansel-Chan
f342bae962
Update empty.model.yml
2026-03-20 11:06:29 +00:00
Owen Mansel-Chan
bceab0b44e
Add extensible predicates
2026-03-20 11:06:26 +00:00
Jeroen Ketema
02f8984aff
Merge pull request #21522 from jketema/swift-linux-test
...
Swift: Fix typo
2026-03-20 12:04:27 +01:00
Jeroen Ketema
b63e34d467
Swift: Fix typo
2026-03-20 11:34:19 +01:00
Óscar San José
ec726f5941
Merge pull request #21486 from github/post-release-prep/codeql-cli-2.25.0
...
Post-release preparation for codeql-cli-2.25.0
2026-03-20 11:23:20 +01:00
Geoffrey White
208ae7aa01
Merge pull request #21514 from geoffw0/suspicioussizeof
...
C++: Fix an issue with cpp/suspicious-add-sizeof in BMN databases
2026-03-20 09:41:39 +00:00
Geoffrey White
be746b775b
Merge pull request #21493 from MarkLee131/fix/format-string-fp-in-printf-impl
...
C++: exclude printf implementation internals from uncontrolled format string sinks
2026-03-20 09:21:48 +00:00
Simon Friis Vindum
bc518c08c7
C++: Fix grammar in comment
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 09:19:59 +01:00
Paolo Tranquilli
06ea72ccc7
Merge pull request #21517 from github/dependabot/bazel/bazel_skylib-1.9.0
...
Bump bazel_skylib from 1.8.1 to 1.9.0
2026-03-20 09:18:44 +01:00
Paolo Tranquilli
57086f60b9
Merge pull request #21518 from github/dependabot/bazel/rules_java-9.6.1
...
Bump rules_java from 9.0.3 to 9.6.1
2026-03-20 09:18:16 +01:00
Kaixuan Li
6452cc549f
Merge branch 'github:main' into fix/format-string-fp-in-printf-impl
2026-03-20 10:15:56 +08:00
Kaixuan Li
f59bacab30
Merge pull request #1 from geoffw0/changenote
...
C++: Change note.
2026-03-20 10:14:24 +08:00
Jeongsoo Lee
356905ba36
Merge branch 'jeongsoolee09/add-getIndirectionIndex' of github.com:github/codeql into jeongsoolee09/add-getIndirectionIndex
2026-03-19 15:51:37 -07:00
Jeongsoo Lee
dc291ffad7
Address code review
2026-03-19 15:51:00 -07:00
Jeongsoo Lee
d191d09c55
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-03-19 15:48:47 -07:00
Geoffrey White
9c6276ef48
C++: Change note.
2026-03-19 16:24:35 +00:00
Tom Hvitved
21f2c81f24
Merge pull request #21509 from hvitved/ci/remove-compile-queries
...
CI: Remove `compile-queries.yml`
2026-03-19 17:21:09 +01:00
Óscar San José
d30aab47ea
Merge branch 'main' into post-release-prep/codeql-cli-2.25.0
2026-03-19 16:57:20 +01:00
dependabot[bot]
fef758998c
Bump rules_java from 9.0.3 to 9.6.1
...
Bumps [rules_java](https://github.com/bazelbuild/rules_java ) from 9.0.3 to 9.6.1.
- [Release notes](https://github.com/bazelbuild/rules_java/releases )
- [Commits](https://github.com/bazelbuild/rules_java/compare/9.0.3...9.6.1 )
---
updated-dependencies:
- dependency-name: rules_java
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 15:48:18 +00:00
dependabot[bot]
b9592fef2d
Bump bazel_skylib from 1.8.1 to 1.9.0
...
Bumps [bazel_skylib](https://github.com/bazelbuild/bazel-skylib ) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/bazelbuild/bazel-skylib/releases )
- [Changelog](https://github.com/bazelbuild/bazel-skylib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazelbuild/bazel-skylib/compare/1.8.1...1.9.0 )
---
updated-dependencies:
- dependency-name: bazel_skylib
dependency-version: 1.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 15:48:11 +00:00
Paolo Tranquilli
7a33e2f539
Merge pull request #21508 from github/dependabot/bazel/rules_pkg-1.2.0
...
Bump rules_pkg from 1.0.1 to 1.2.0
2026-03-19 16:27:45 +01:00
Paolo Tranquilli
34101b5ca0
Merge pull request #21448 from github/redsun82/update-rules-rust
...
Update `rules_rust` 0.68.1.codeql.1 → 0.69.0, drop local patch
2026-03-19 16:16:34 +01:00
Geoffrey White
07db9cf3c4
Merge pull request #21421 from geoffw0/wrongtypeformat
...
C++: Add some test cases for cpp/wrong-type-format-argument
2026-03-19 14:25:33 +00:00
Geoffrey White
92c9a8e146
Update cpp/ql/test/query-tests/Security/CWE/CWE-468/semmle/SuspiciousAddWithSizeof/buildless.cpp
2026-03-19 13:51:03 +00:00
Geoffrey White
21cb11ea5d
C++: Change note.
2026-03-19 13:29:41 +00:00
Simon Friis Vindum
4c525ce7ab
C++: Add cpp/extraction-information query
2026-03-19 14:29:31 +01:00
Geoffrey White
0f794b57ed
C++: Fix the issue.
2026-03-19 13:16:16 +00:00
Geoffrey White
2e987f8d78
C++: Add test cases emulating cpp/suspicious-add-sizeof in buildless mode.
2026-03-19 13:00:58 +00:00
Óscar San José
2139b97628
Merge branch 'main' into post-release-prep/codeql-cli-2.25.0
2026-03-19 13:07:00 +01:00
Tom Hvitved
7fc1d53ede
Rust: Disambiguate types inferred from trait bounds
2026-03-19 12:57:22 +01:00
Paolo Tranquilli
50d83ada95
Merge branch 'main' into redsun82/update-rules-rust
2026-03-19 12:50:00 +01:00
dependabot[bot]
10678d3a42
Bump rules_pkg from 1.0.1 to 1.2.0
...
Bumps [rules_pkg](https://github.com/bazelbuild/rules_pkg ) from 1.0.1 to 1.2.0.
- [Release notes](https://github.com/bazelbuild/rules_pkg/releases )
- [Changelog](https://github.com/bazelbuild/rules_pkg/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazelbuild/rules_pkg/compare/1.0.1...1.2.0 )
---
updated-dependencies:
- dependency-name: rules_pkg
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 11:31:03 +00:00
Paolo Tranquilli
7d538988a6
Merge pull request #21507 from github/dependabot/bazel/rules_go-0.60.0
...
Bump rules_go from 0.59.0 to 0.60.0
2026-03-19 12:29:17 +01:00
dependabot[bot]
7f17b7716d
Bump rules_go from 0.59.0 to 0.60.0
...
Bumps [rules_go](https://github.com/bazel-contrib/rules_go ) from 0.59.0 to 0.60.0.
- [Release notes](https://github.com/bazel-contrib/rules_go/releases )
- [Commits](https://github.com/bazel-contrib/rules_go/compare/v0.59.0...v0.60.0 )
---
updated-dependencies:
- dependency-name: rules_go
dependency-version: 0.60.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 10:43:19 +00:00
Paolo Tranquilli
b57fa1bffa
Merge pull request #21505 from github/dependabot/bazel/rules_cc-0.2.17
...
Bump rules_cc from 0.2.16 to 0.2.17
2026-03-19 11:41:28 +01:00
dependabot[bot]
662b1e7df6
Bump rules_cc from 0.2.16 to 0.2.17
...
Bumps [rules_cc](https://github.com/bazelbuild/rules_cc ) from 0.2.16 to 0.2.17.
- [Release notes](https://github.com/bazelbuild/rules_cc/releases )
- [Commits](https://github.com/bazelbuild/rules_cc/compare/0.2.16...0.2.17 )
---
updated-dependencies:
- dependency-name: rules_cc
dependency-version: 0.2.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 10:02:30 +00:00
Tom Hvitved
750f1ae8e9
Ruby: Use empty DB stats
2026-03-19 10:18:42 +01:00
Tom Hvitved
e0b06c8e72
CI: Remove Ruby checks
...
Have been superseded by an internal checks.
2026-03-19 10:15:36 +01:00
Tom Hvitved
8d6aceb008
CI: Remove compile-queries.yml
...
Has been superseded by an internal check.
2026-03-19 10:10:38 +01:00
Tom Hvitved
3fad6bdc0c
Merge pull request #21495 from hvitved/rust/fix-bad-joins
...
Rust: Fix two bad joins
2026-03-19 09:53:22 +01:00
Paolo Tranquilli
518d170acd
Merge pull request #21499 from github/redsun82/dependabot-exclude-bazel-registry
...
Dependabot: ignore modules in our bazel registry
2026-03-19 09:25:28 +01:00
Paolo Tranquilli
b9ad36c11d
Depdendabot: ignore modules in the our bazel registry
...
These come from the upstream registry and should just be left alone.
2026-03-19 09:15:25 +01:00
Paolo Tranquilli
4ca071210b
Merge branch 'main' into redsun82/update-rules-rust
2026-03-19 08:36:31 +01:00
Kaixuan Li
1ddf81c58c
Merge branch 'main' into fix/format-string-fp-in-printf-impl
2026-03-19 14:36:50 +08:00
Kaixuan Li
c155394f25
the [] syntax directly
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-03-19 14:36:28 +08:00
Kaixuan Li
2c76e6e637
use American spellings in documentation
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-19 14:35:45 +08:00
Tom Hvitved
2ff5c2c234
Rust: Fix two bad joins
...
Before
```
Evaluated relational algebra for predicate TypeInference::DeconstructionPatMatchingInput::Access.getNodeAt/1#dispred#cc149bc2@88f6f09n with tuple counts:
142521 ~1% {3} r1 = JOIN num#FunctionType::TReturnFunctionPosition#a15fd6be WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.0
131938 ~0% {3} r2 = JOIN `TupleStructPat::Generated::TupleStructPat.getField/1#dispred#ac9c1af6` WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
131938 ~6% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
3071346 ~0% {2} r3 = SCAN `Name::Generated::Name.getText/0#dispred#107a5a39` OUTPUT In.1, In.0
103064442 ~2% {3} | JOIN WITH `StructPat::StructPat.getPatField/1#5e21ea0e_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
103064442 ~3% {3} | JOIN WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
103064438 ~1% {3} | JOIN WITH `StructPatField::Generated::StructPatField.getPat/0#dispred#1aadfeff` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
20514858 ~2% {3} | JOIN WITH `StructField::Generated::StructField.getName/0#dispred#e0248569_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
59554 ~1% {3} | JOIN WITH `StructPat::StructPat.getNthStructField/1#dispred#de537654_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
59542 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
334001 ~0% {3} r4 = r1 UNION r2 UNION r3
return r4
Evaluated relational algebra for predicate TypeInference::ConstructionMatchingInput::Access.getNodeAt/1#dispred#acd835e6@bfb1f1e1 with tuple counts:
1395153 ~3% {3} r1 = JOIN TypeInference::ConstructionMatchingInput::PathExprAccess#b7a80c43 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
34290 ~3% {3} r2 = JOIN StructExpr::Generated::StructExpr#d0a89c56 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
3071346 ~0% {2} r3 = SCAN `Name::Generated::Name.getText/0#dispred#107a5a39` OUTPUT In.1, In.0
145365745 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getFieldExpr/1#cd55566d_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
145365745 ~1% {3} | JOIN WITH StructExpr::Generated::StructExpr#d0a89c56 ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
33371514 ~0% {3} | JOIN WITH `StructField::Generated::StructField.getName/0#dispred#e0248569_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
108831 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getNthStructField/1#dispred#89ad7e20_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
108751 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
108751 ~4% {3} | JOIN WITH `StructExprField::Generated::StructExprField.getExpr/0#dispred#956e6ba1` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
1748398 ~4% {3} r4 = `TypeInference::ConstructionMatchingInput::NonAssocCallAccess.getNodeAt/1#dispred#ef232b1f` UNION r1 UNION r2 UNION r3
return r4
```
After
```
Evaluated relational algebra for predicate TypeInference::DeconstructionPatMatchingInput::Access.getNodeAt/1#dispred#cc149bc2@2ea6ebjs with tuple counts:
142521 ~1% {3} r1 = JOIN num#FunctionType::TReturnFunctionPosition#a15fd6be WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.0
131938 ~0% {3} r2 = JOIN `TupleStructPat::Generated::TupleStructPat.getField/1#dispred#ac9c1af6` WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
131938 ~6% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
166829 ~3% {3} r3 = JOIN `_Name::Generated::Name.getText/0#dispred#107a5a39_StructField::Generated::StructField.getName/0#disp__#shared` WITH `StructPat::StructPat.getNthStructField/1#dispred#de537654_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
166817 ~2% {3} | JOIN WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
166817 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
59542 ~0% {3} | JOIN WITH `StructPat::StructPat.getPatField/1#5e21ea0e` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
59542 ~0% {3} | JOIN WITH `StructPatField::Generated::StructPatField.getPat/0#dispred#1aadfeff` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
334001 ~0% {3} r4 = r1 UNION r2 UNION r3
return r4
Evaluated relational algebra for predicate TypeInference::ConstructionMatchingInput::Access.getNodeAt/1#dispred#acd835e6@c7f267fp with tuple counts:
1395153 ~3% {3} r1 = JOIN TypeInference::ConstructionMatchingInput::PathExprAccess#b7a80c43 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
34290 ~3% {3} r2 = JOIN StructExpr::Generated::StructExpr#d0a89c56 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
159331 ~0% {3} r3 = JOIN `_Name::Generated::Name.getText/0#dispred#107a5a39_StructField::Generated::StructField.getName/0#disp__#shared` WITH `StructExpr::StructExpr.getNthStructField/1#dispred#89ad7e20_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
159231 ~3% {3} | JOIN WITH StructExpr::Generated::StructExpr#d0a89c56 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
159231 ~3% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
108731 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getFieldExpr/1#cd55566d` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
108731 ~4% {3} | JOIN WITH `StructExprField::Generated::StructExprField.getExpr/0#dispred#956e6ba1` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
1748378 ~4% {3} r4 = `TypeInference::ConstructionMatchingInput::NonAssocCallAccess.getNodeAt/1#dispred#ef232b1f` UNION r1 UNION r2 UNION r3
return r4
```
2026-03-18 20:42:57 +01:00
Tom Hvitved
98d8cd1d6d
Rust: Make getATypeParameterConstraint return a TypeMention again
2026-03-18 19:52:45 +01:00
Tom Hvitved
e8e46accc0
Rust: Refine AssociatedTypeTypeParameter.toString
2026-03-18 19:52:43 +01:00
Tom Hvitved
06f0c1189f
Shared: Generalize SatisfiesConstraint module
2026-03-18 19:52:41 +01:00
Tom Hvitved
082dc61620
Rust: Add type inference test
2026-03-18 19:52:39 +01:00
Tom Hvitved
2e7da72277
Merge pull request #21488 from paldepind/rust/tuple-constructor-self
...
Rust: Unify handling of struct and tuple constructors
2026-03-18 19:52:06 +01:00
Owen Mansel-Chan
5b17d8cf76
Merge pull request #21472 from owen-mc/adjust-severity/xss-log-injection
...
Adjust `@security-severity` metadata for XSS and log injection queries
2026-03-18 16:51:14 +00:00
Simon Friis Vindum
f2a0724620
Rust: Use getReturnType
2026-03-18 15:06:34 +01:00
Simon Friis Vindum
b8222167d2
Rust: Ensure that TPositionalArgumentPosition is large enough for struct expressions
2026-03-18 15:06:32 +01:00
Simon Friis Vindum
6efd844180
Rust: Rename into "construction" and "deconstruction"
2026-03-18 15:06:23 +01:00
Geoffrey White
34f405f465
C++: Update test annotations.
2026-03-18 13:13:22 +00:00
Anders Schack-Mulligen
d4a0846c6c
Merge pull request #21490 from aschackmull/csharp/enclosing-obinit
...
C#: Add ObjectInitMethod as enclosing callable for the instance initializers.
2026-03-18 10:03:18 +01:00
Simon Friis Vindum
d180900ab4
Rust: Minor improvements to documentation comments
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-17 19:01:22 +01:00
Simon Friis Vindum
97670b3674
Rust: Unify handling of struct and tuple constructors
2026-03-17 16:41:18 +01:00
MarkLee131
ff48ac5434
C++: exclude printf implementation internals from format string sinks
2026-03-17 22:45:38 +08:00
Anders Schack-Mulligen
af63e63686
C#: Accept test changes.
2026-03-17 14:12:18 +01:00
Anders Schack-Mulligen
19faf8f30b
C#: Add ObjectInitMethod as enclosing callable for the instance initializers.
2026-03-17 13:38:41 +01:00
Owen Mansel-Chan
3aaee9d981
Change @security-severity for rust/log-injection from 2.6 to 6.1
2026-03-17 12:01:05 +00:00
Tom Hvitved
8e19b05a25
Merge pull request #21355 from hvitved/rust/type-inference-unify
...
Rust: Unify call resolution logic
2026-03-17 10:38:05 +01:00
Tom Hvitved
1ac9e5a2a4
Rust: Elaborate QL doc on FunctionPosition class
2026-03-17 09:51:15 +01:00
Jeongsoo Lee
3f9ad14473
Factor out common code into an abstract private class
2026-03-16 14:11:34 -07:00
Geoffrey White
9cb1c89a02
C++: Change note.
2026-03-16 19:11:27 +00:00
Geoffrey White
a57f803b37
C++: Address false positive results.
2026-03-16 19:03:10 +00:00
Geoffrey White
1130870168
Merge remote-tracking branch 'upstream/main' into wrongtypeformat
2026-03-16 19:03:02 +00:00
Geoffrey White
8ddfee9971
Merge pull request #21457 from geoffw0/intmultlong
...
C++: Fix BMN issue with cpp/integer-multiplication-cast-to-long.
2026-03-16 19:02:16 +00:00
Geoffrey White
8df4dfb585
C++: Autoformat.
2026-03-16 16:40:27 +00:00
Geoffrey White
2f7526d70b
C++: Clarify doc comment and make build-mode: nonereferences more consistent.
2026-03-16 16:38:59 +00:00
Geoffrey White
eeb09ae389
C++: Fix typo.
2026-03-16 16:12:30 +00:00
Geoffrey White
3c4a386f3f
C++: Clarify two cases in the test.
2026-03-16 16:08:35 +00:00
github-actions[bot]
e3dbf5b022
Post-release preparation for codeql-cli-2.25.0
2026-03-16 16:03:22 +00:00
Óscar San José
72534e882b
Merge pull request #21483 from github/release-prep/2.25.0
...
Release preparation for version 2.25.0
2026-03-16 15:45:36 +01:00
Taus
a99b3f2c3b
Merge pull request #21459 from github/tausbn/python-fix-missing-relative-imports
...
Python: Fix resolution of relative imports from namespace packages
2026-03-16 14:59:44 +01:00
Taus
92718a98d0
Python: Add test for package inside namespace package
2026-03-16 12:41:09 +00:00
Taus
e70727524a
Python: Rename prints tag to flow
...
The former was a remnant of copying the setup over from
`ql/test/experimental/import-resolution/importflow.ql`.
2026-03-16 12:37:00 +00:00
github-actions[bot]
d6055754b6
Release preparation for version 2.25.0
2026-03-16 12:15:34 +00:00
Anders Schack-Mulligen
c24b43d01e
Merge pull request #21482 from aschackmull/csharp/rangeanalysis-no-split
...
C#: Remove splitting-awareness from Range Analysis.
2026-03-16 10:54:49 +01:00
Jeroen Ketema
179a4cd41a
Merge pull request #21474 from jketema/jketema/swift-linux-2
...
Swift: Ignore some DB-CHECK results on Linux
2026-03-16 10:50:05 +01:00
Anders Schack-Mulligen
a929c0bf24
C#: Remove splitting-awareness from Range Analysis.
2026-03-16 09:58:14 +01:00
Anders Schack-Mulligen
427ccee3b9
Merge pull request #21473 from aschackmull/csharp/dataflow-no-split
...
C#: Remove splitting-awareness from data flow.
2026-03-16 09:33:31 +01:00
Asger F
22f16dda85
Merge pull request #21368 from asgerf/browser-sources
...
JS: Add 'browser' source kinds
2026-03-16 09:24:54 +01:00
Anders Schack-Mulligen
db0a3e38e2
C#: Accept a few irrelevant taint steps.
2026-03-16 09:09:54 +01:00
Anders Schack-Mulligen
e7edf15031
C#: Clean up.
2026-03-16 08:51:51 +01:00
Anders Schack-Mulligen
4c77e0f315
C#: Remove splitting-awareness for local expression steps.
2026-03-16 08:51:51 +01:00
Anders Schack-Mulligen
7124cd4e6e
C#: Remove splitting-awareness for source-to-def steps.
2026-03-16 08:51:50 +01:00
Anders Schack-Mulligen
c076992b83
C#: Remove splitting-awareness in ObjectInitializerNode.
2026-03-16 08:51:49 +01:00
Anders Schack-Mulligen
659d8e7c90
C#: Remove splitting-awareness in argumentOf.
2026-03-16 08:51:49 +01:00
Anders Schack-Mulligen
1e8de0511b
C#: Remove splitting-awareness in lambda flow.
2026-03-16 08:51:48 +01:00
Anders Schack-Mulligen
bce0a4d2a7
C#: Remove splitting-awareness for store steps.
2026-03-16 08:51:48 +01:00
Anders Schack-Mulligen
2160910d56
C#: Remove splitting-awareness for read steps.
2026-03-16 08:51:47 +01:00
Anders Schack-Mulligen
a5c8a5b5f8
C#: Remove splitting-awareness for taint steps.
2026-03-16 08:51:47 +01:00
Jeongsoo Lee
f8a3ce7bf8
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-14 16:17:36 -07:00
Jeroen Ketema
f9f1d9eecc
Swift: Ignore some DB-CHECK results on Linux
2026-03-13 20:06:57 +01:00
Jeongsoo Lee
d3066af2e2
Create IndirectUninitializedNode and add a bridge from it to LocalVariable
...
This way the changes do not alter the meaning of `UninitializedNode`.
In the meantime, the code still provides a specialized `Node` type
`IndirectUninitializedNode` to access the nodes behind levels of
indirection.
2026-03-13 11:39:57 -07:00
Jeongsoo Lee
8c03136c25
Revert "Expose the indirection index"
...
This reverts commit 6c792e69b3 .
2026-03-13 10:11:40 -07:00
Owen Mansel-Chan
d52e9bc18c
Merge pull request #21370 from github/owen-mc/go/overlay-annotations
...
Go: Add overlay annotations from script
2026-03-13 16:46:01 +00:00
Owen Mansel-Chan
b8b841cfba
Add overlay[loca] in 4 more tests
2026-03-13 16:19:00 +00:00
Owen Mansel-Chan
df9f8ee386
Merge branch 'main' into owen-mc/go/overlay-annotations
2026-03-13 15:55:17 +00:00
Owen Mansel-Chan
99f4930e24
Explicitly mark DataFlowNodes.qll as overlay[local]
2026-03-13 15:23:39 +00:00
Owen Mansel-Chan
e9df9147ad
Add overlay annotations in 4 PrintAst tests
2026-03-13 15:03:05 +00:00
Owen Mansel-Chan
f32f85399a
Mark various files as overlay[local]
2026-03-13 15:03:02 +00:00
Jonas Jensen
c56feb7644
Go: annotate the standard library with for overlay
...
This commit is auto-generated with:
python3 config/add-overlay-annotations.py go
2026-03-13 15:03:01 +00:00
Jonas Jensen
7ef60a8649
Update the overlay annotation script for go
...
The Go libraries follow their own naming convention for "query
libraries". These need to be exempted from automatic `overlay[local?]`
annotations since otherwise it appears that too many predicates are
evaluated, possibly because of inadequate use of sentinels.
2026-03-13 15:02:58 +00:00
Tom Hvitved
ca2838b361
Address review comments
2026-03-13 15:38:07 +01:00
Tom Hvitved
7a6ab70091
Rust: Add test for free function with context-based typing
2026-03-13 15:36:06 +01:00
Asger F
7d6e08ecf1
Merge pull request #21461 from github/asger/js-shebang-bun-tsx
...
JS: Recognise bun and tsx in shebang lines
2026-03-13 15:07:12 +01:00
Asger F
dfa6d20072
JS: Replace broken link with plain text
2026-03-13 15:05:07 +01:00
Asger F
821cc0e875
JS: Address PR review comments
...
- Fix misplaced semicolons in test files (was inside comment, moved before it)
- Update QLdoc comments to reference new browser source kind names
- Update docs to list browser source kinds and fix outdated 'only remote' note
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-13 14:58:04 +01:00
Tom Hvitved
7094fb07a4
Rust: Replace FunctionPosition with FunctionPositionAdj
2026-03-13 14:37:40 +01:00
Owen Mansel-Chan
52809133f5
Add change notes
2026-03-13 11:10:43 +00:00
Owen Mansel-Chan
056aa342fe
Change @security-severity for log injection queries from 7.8 to 6.1
2026-03-13 10:02:01 +00:00
Owen Mansel-Chan
f58a6e5d3a
Change @security-severity for XSS queries from 6.1 to 7.8
2026-03-13 10:01:02 +00:00
Anders Schack-Mulligen
f11815c633
Merge pull request #21471 from aschackmull/csharp/rm-prebasicblock
...
C#: Delete PreBasicBlocks.
2026-03-13 08:54:06 +01:00
Owen Mansel-Chan
52cfd49087
Merge pull request #21469 from github/dependabot/go_modules/go/extractor/extractor-dependencies-7af763c229
...
Bump the extractor-dependencies group across 1 directory with 2 updates
2026-03-13 07:06:44 +00:00
Anders Schack-Mulligen
8c1c039edf
C#: Delete PreBasicBlocks.
2026-03-13 08:00:08 +01:00
dependabot[bot]
c9e0927992
Bump the extractor-dependencies group across 1 directory with 2 updates
...
Bumps the extractor-dependencies group with 2 updates in the /go/extractor directory: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/mod/compare/v0.33.0...v0.34.0 )
Updates `golang.org/x/tools` from 0.42.0 to 0.43.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.42.0...v0.43.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 03:04:44 +00:00
Jeroen Ketema
d5f667e585
Merge pull request #21467 from jketema/jketema/swift-linux
...
Swift: Disable stack protector pass
2026-03-12 22:42:51 +01:00
Jeroen Ketema
b758732a28
Merge pull request #21468 from jketema/jketema/swift-lines
...
Swift: Limit successfully extracted lines
2026-03-12 17:24:28 +01:00
Jeroen Ketema
ba3fadbf20
Swift: Rename function
2026-03-12 16:37:13 +01:00
Owen Mansel-Chan
d7d1554461
Merge pull request #21465 from owen-mc/go/small-tweaks
...
Go: improve detection of type expressions when database is missing some type information
2026-03-12 14:58:16 +00:00
Jeroen Ketema
12e0f3f359
Swift: Limit successfully extracted lines
2026-03-12 15:46:23 +01:00
Owen Mansel-Chan
0bb6ff58cc
Merge pull request #21466 from owen-mc/go/add-nil-helper-predicate
...
Go: Add and use `exprRefersToNil` predicate
2026-03-12 14:36:03 +00:00
Jeroen Ketema
b9c0aca11a
Swift: Fix formatting
2026-03-12 15:00:18 +01:00
Jeroen Ketema
ee3674cb80
Swift: Disable stack protector pass
2026-03-12 14:43:05 +01:00
Taus
3ee369b710
Python: Add change note
2026-03-12 13:29:24 +00:00
Taus
e16bb226c0
Python: Fix resolution of relative imports from namespace packages
...
The fix may look a bit obscure, so here's what's going on.
When we see `from . import helper`, we create an `ImportExpr` with level
equal to 1 (corresponding to the number of dots). To resolve such
imports, we compute the name of the enclosing package, as part of
`ImportExpr.qualifiedTopName()`. For this form of import expression, it
is equivalent to `this.getEnclosingModule().getPackageName()`. But
`qualifiedTopName` requires that `valid_module_name` holds for its
result, and this was _not_ the case for namespace packages.
To fix this, we extend `valid_module_name` to include the module names
of _any_ folder, not just regular package (which are the ones where
there's a `__init__.py` in the folder). Note that this doesn't simply
include all folders -- only the ones that result in valid module names
in Python.
2026-03-12 13:29:23 +00:00
Taus
48bf4fd82a
Python: Add test for missing relative import in namespace packages
2026-03-12 13:29:19 +00:00
Owen Mansel-Chan
c271755985
Add and use exprRefersToNil predicate
2026-03-12 13:28:57 +00:00
Owen Mansel-Chan
a16c43881b
Use "database" instead of "snapshot" in QLDocs
2026-03-12 13:28:06 +00:00
Owen Mansel-Chan
39e0382089
Improve QLDoc for isTypeExprTopDown
2026-03-12 13:28:05 +00:00
Owen Mansel-Chan
22e012c6f4
Expand isTypeExprTopDown
...
We should be using all subtypes of `FieldBase`. This allows us to find
more type expressions, and is also simpler to evaluate.
2026-03-12 13:28:03 +00:00
Tom Hvitved
1b6f3a43ef
Rust: Unify type inference logic for associated functions
2026-03-12 10:31:35 +01:00
Asger F
b8c44be599
Add QL test for bun/tsx shebang recognition in TypeScript files
...
Add test files with #!/usr/bin/env bun, #!/usr/bin/env tsx, and
#!/usr/bin/env node shebangs. The query lists extracted .ts files,
verifying that all three shebangs are recognized and the files are
not skipped by the extractor.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-12 10:09:56 +01:00
Asger F
84d1828a9c
JavaScript extractor: recognise bun and tsx in shebang lines
...
Update the shebang regexp (renamed NODE_INVOCATION -> JS_INVOCATION) to
also match 'bun' and 'tsx' so that scripts using these runtimes are
correctly identified as JavaScript files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-12 09:35:36 +01:00
Tom Hvitved
ca7017f3d7
Rust: Add more type inference tests
2026-03-12 09:02:40 +01:00
Mario Campos
f2e7dca65c
Merge pull request #21454 from github/mario-campos-patch-1
...
Correct comment about AES crypto algorithm strength
2026-03-11 22:43:21 -05:00
Mario Campos
b9b3b3a0b5
Empty commit for missed Green Check
2026-03-11 22:37:20 -05:00
Jeongsoo Lee
6c792e69b3
Expose the indirection index
2026-03-11 13:53:24 -07:00
Geoffrey White
4a39055322
C++: Change note.
2026-03-11 17:52:34 +00:00
Geoffrey White
6552c849f0
C++: Fix BMN issue in cpp/integer-multiplication-cast-to-long.
2026-03-11 17:49:36 +00:00
Geoffrey White
00d8a10051
C++: Add Function.hasAmbiguousReturnType.
2026-03-11 17:47:32 +00:00
Geoffrey White
da7da80b2b
C++: Add pseudo-buildless test cases (some missing declarations).
2026-03-11 17:47:25 +00:00
Asger F
5db30c9947
JS: Add change note
2026-03-11 15:40:07 +01:00
Mario Campos
6fb10555ff
Correct comment about AES crypto algorithm strength
2026-03-11 09:27:03 -05:00
Ian Lynagh
bbd02b855b
Merge pull request #21424 from github/idrissrio/cpp/overlay/discard
...
C/C++ overlay: update discard mechanism
2026-03-11 13:45:52 +00:00
Idriss Riouak
48a03e2a04
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-11 14:25:53 +01:00
idrissrio
a92d97744f
C/C++ overlay: address review comment
2026-03-11 14:25:52 +01:00
idrissrio
ef6c1a9968
C/C++ overlay: fix failing header_dependency test
2026-03-11 14:25:50 +01:00
idrissrio
72142b51f7
C/C++ overlay: switch to updated discard strategy
2026-03-11 14:25:49 +01:00
Tom Hvitved
c06d4d2647
Merge pull request #21422 from hvitved/rust/type-mention-refactor
...
Rust: Small refactor in `TypeMention.qll`
2026-03-11 14:01:03 +01:00
Asger F
4a001f960f
JS: Add tests in request forgery queries
2026-03-11 13:53:25 +01:00
Asger F
1253553aec
JS: Add browser source kinds
2026-03-11 13:50:07 +01:00
Ian Lynagh
68dfa5c83b
Merge pull request #21451 from igfoo/igfoo/fix-build
...
Revert "Bump rules_android from 0.6.4 to 0.7.1"
2026-03-11 12:27:20 +00:00
Ian Lynagh
25a20f74f0
Revert "Bump rules_android from 0.6.4 to 0.7.1"
...
This reverts commit c7349740f0 .
It was making the build fail
2026-03-11 11:54:18 +00:00
Taus
5a65282241
Merge pull request #21429 from github/tausbn/fix-bad-join-in-method-call-order
...
Python: Fix bad join in method call order computation
2026-03-10 18:17:35 +01:00
Paolo Tranquilli
2e04d4b888
Merge branch 'main' into redsun82/update-rules-rust
2026-03-10 16:43:50 +01:00
Paolo Tranquilli
79499c240a
Merge pull request #21444 from github/dependabot/bazel/googletest-1.17.0.bcr.2
...
Bump googletest from 1.14.0.bcr.1 to 1.17.0.bcr.2
2026-03-10 16:41:38 +01:00
Paolo Tranquilli
267a46d01b
Merge pull request #21445 from github/dependabot/bazel/rules_shell-0.6.1
...
Bump rules_shell from 0.5.0 to 0.6.1
2026-03-10 16:41:24 +01:00
Ian Lynagh
341059d2d0
Merge pull request #21437 from igfoo/igfoo/onemk
...
C++: Small simplification
2026-03-10 15:36:38 +00:00
Paolo Tranquilli
79841bbc00
Update rules_rust 0.68.1.codeql.1 → 0.69.0, drop local patch
...
The `include_rmeta_in_stdlib.patch` is included upstream in 0.69.0.
Remove the local registry entry and regenerate vendored deps.
2026-03-10 16:20:50 +01:00
Paolo Tranquilli
3c3c58b0a9
Merge pull request #21443 from github/dependabot/bazel/rules_android-0.7.1
...
Bump rules_android from 0.6.4 to 0.7.1
2026-03-10 16:06:40 +01:00
Paolo Tranquilli
9bf1072a01
Merge pull request #21447 from github/revert-21414-redsun82/rerun-slash-command
...
Revert "Add `/rerun` slash command for failed internal checks"
2026-03-10 15:55:45 +01:00
Paolo Tranquilli
a5f23ade8c
Revert "Add /rerun slash command for failed internal checks"
2026-03-10 14:43:59 +01:00
Paolo Tranquilli
017b6f2e44
Merge pull request #21414 from github/redsun82/rerun-slash-command
...
Add `/rerun` slash command for failed internal checks
2026-03-10 14:01:03 +01:00
Anders Schack-Mulligen
6a6bb5ebf9
Merge pull request #21441 from aschackmull/cfg/switch-sharing
...
Cfg: Share more code for switch statements.
2026-03-10 13:50:21 +01:00
Florin Coada
15f7a95209
Merge pull request #21440 from github/codeql-spark-run-22877174736
...
Update changelog documentation site for codeql-cli-2.24.3
2026-03-10 12:21:56 +00:00
dependabot[bot]
b631138b63
Bump rules_shell from 0.5.0 to 0.6.1
...
Bumps [rules_shell](https://github.com/bazelbuild/rules_shell ) from 0.5.0 to 0.6.1.
- [Release notes](https://github.com/bazelbuild/rules_shell/releases )
- [Commits](https://github.com/bazelbuild/rules_shell/compare/v0.5.0...v0.6.1 )
---
updated-dependencies:
- dependency-name: rules_shell
dependency-version: 0.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:40 +00:00
dependabot[bot]
093d36ebe6
Bump googletest from 1.14.0.bcr.1 to 1.17.0.bcr.2
...
Bumps [googletest](https://github.com/google/googletest ) from 1.14.0.bcr.1 to 1.17.0.bcr.2.
- [Release notes](https://github.com/google/googletest/releases )
- [Commits](https://github.com/google/googletest/commits )
---
updated-dependencies:
- dependency-name: googletest
dependency-version: 1.17.0.bcr.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:37 +00:00
dependabot[bot]
c7349740f0
Bump rules_android from 0.6.4 to 0.7.1
...
Bumps [rules_android](https://github.com/bazelbuild/rules_android ) from 0.6.4 to 0.7.1.
- [Release notes](https://github.com/bazelbuild/rules_android/releases )
- [Commits](https://github.com/bazelbuild/rules_android/compare/v0.6.4...v0.7.1 )
---
updated-dependencies:
- dependency-name: rules_android
dependency-version: 0.7.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:34 +00:00
Anders Schack-Mulligen
efa797a21d
Update shared/controlflow/codeql/controlflow/ControlFlowGraph.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-10 11:22:15 +01:00
Anders Schack-Mulligen
77d4f5a2dc
Cfg: Update fallsThrough default.
2026-03-10 11:10:24 +01:00
Anders Schack-Mulligen
edf88b34da
Cfg: Move Case.getBodyElement to shared code.
2026-03-10 11:02:58 +01:00
Owen Mansel-Chan
0215ea3ee3
Merge pull request #21426 from owen-mc/cpp/validate-constructor-summary-models
...
C++: Add model validation for constructor summary models
2026-03-10 09:42:24 +00:00
Anders Schack-Mulligen
35ac66d3aa
Cfg: Move getCaseControlFlowOrder to shared code.
2026-03-10 10:39:32 +01:00
Anders Schack-Mulligen
219fe03637
Merge pull request #21430 from aschackmull/csharp/switch-ast-simplify
...
C#: Disentangle SwitchStmt AST and CFG.
2026-03-10 10:23:37 +01:00
Mario Campos
b7a5b08d61
Fix formatting issues in codeql-cli-2.23.1.rst
2026-03-09 17:20:34 -05:00
Mario Campos
87ec22db65
Fix formatting of Kotlin version support note
2026-03-09 17:19:56 -05:00
Mario Campos
f52195e96d
Fix formatting in Kotlin version support note
2026-03-09 17:19:36 -05:00
Mario Campos
430ed055bc
Fix formatting for Kotlin version support note
2026-03-09 17:19:18 -05:00
github-actions[bot]
8e85c4c0ea
update codeql documentation
2026-03-09 22:17:15 +00:00
Mario Campos
017822b872
Merge pull request #21439 from github/revert-21438-codeql-spark-run-22872006382
...
Revert "Update changelog documentation site for codeql-cli-2.24.3"
2026-03-09 17:02:43 -05:00
Mario Campos
eea61ea821
Revert "Update changelog documentation site for codeql-cli-2.24.3"
2026-03-09 16:55:09 -05:00
Jon Janego
b289266398
Merge pull request #21438 from github/codeql-spark-run-22872006382
...
Update changelog documentation site for codeql-cli-2.24.3
2026-03-09 15:44:14 -05:00
Mario Campos
f5545516db
Fix formatting in codeql-cli-2.19.1.rst
2026-03-09 15:34:27 -05:00
Mario Campos
216bc76694
Fix formatting in Kotlin version support note
2026-03-09 15:34:07 -05:00
Mario Campos
5921dacf52
Fix formatting of Kotlin version support note
2026-03-09 15:33:08 -05:00
Mario Campos
ca44c777f0
Fix formatting issues in codeql-cli-2.23.1.rst
2026-03-09 15:32:42 -05:00
github-actions[bot]
5283413055
update codeql documentation
2026-03-09 20:00:48 +00:00
Ian Lynagh
dbb8bb86ba
C++: Small simplification
2026-03-09 17:45:38 +00:00
Paolo Tranquilli
afb2243984
Merge pull request #21433 from github/dependabot/bazel/abseil-cpp-20260107.1
...
Bump abseil-cpp from 20240116.1 to 20260107.1
2026-03-09 17:14:33 +01:00
Paolo Tranquilli
a7e426d89f
Merge pull request #21432 from github/dependabot/bazel/zstd-1.5.7.bcr.1
...
Bump zstd from 1.5.5.bcr.1 to 1.5.7.bcr.1
2026-03-09 17:13:29 +01:00
Paolo Tranquilli
fde51e0c29
Merge pull request #21436 from github/dependabot/bazel/rules_python-1.9.0
...
Bump rules_python from 0.40.0 to 1.9.0
2026-03-09 17:12:58 +01:00
dependabot[bot]
69ed88bccd
Bump rules_python from 0.40.0 to 1.9.0
...
Bumps [rules_python](https://github.com/bazel-contrib/rules_python ) from 0.40.0 to 1.9.0.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases )
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazel-contrib/rules_python/compare/0.40.0...1.9.0 )
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 1.9.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:26:10 +00:00
dependabot[bot]
97e1c96200
Bump abseil-cpp from 20240116.1 to 20260107.1
...
Bumps [abseil-cpp](https://github.com/abseil/abseil-cpp ) from 20240116.1 to 20260107.1.
- [Release notes](https://github.com/abseil/abseil-cpp/releases )
- [Commits](https://github.com/abseil/abseil-cpp/compare/20240116.1...20260107.1 )
---
updated-dependencies:
- dependency-name: abseil-cpp
dependency-version: '20260107.1'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:25:57 +00:00
dependabot[bot]
46ba1f9160
Bump zstd from 1.5.5.bcr.1 to 1.5.7.bcr.1
...
Bumps [zstd](https://github.com/facebook/zstd ) from 1.5.5.bcr.1 to 1.5.7.bcr.1.
- [Release notes](https://github.com/facebook/zstd/releases )
- [Changelog](https://github.com/facebook/zstd/blob/dev/CHANGELOG )
- [Commits](https://github.com/facebook/zstd/commits )
---
updated-dependencies:
- dependency-name: zstd
dependency-version: 1.5.7.bcr.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:25:53 +00:00
Taus
5d74ad5bc6
Merge pull request #21419 from github/tausbn/python-improve-overloaded-method-resolution
...
Python: Improve modelling of overloaded methods
2026-03-09 16:25:05 +01:00
Anders Schack-Mulligen
4013f00b19
C#: Disentangle SwitchStmt AST and CFG.
2026-03-09 15:07:59 +01:00
Owen Mansel-Chan
e0e5319b11
C#: Make corresponding predicate private
2026-03-09 13:44:52 +00:00
Owen Mansel-Chan
d8007a85e6
Java: Make corresponding predicate private
2026-03-09 13:44:50 +00:00
Owen Mansel-Chan
512e27187e
Make new predicate private
2026-03-09 13:44:48 +00:00
Taus
f2bad1e6e1
Python: Improve docstring and make predicate private
2026-03-09 13:41:38 +00:00
Taus
c5360ba46c
Python: Fix bad join in method call order computation
...
This join had badness 1127 on the project FiacreT/M-moire, producing ~31
million tuples in order to end up with only ~27k tuples later in the
pipeline. With the fix, we reduce this by roughly the full 31 million
(the new materialised helper predicate accounting for roughly 130k
tuples on its own).
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2026-03-09 13:09:29 +00:00
Geoffrey White
be9c1d074f
Merge pull request #21376 from geoffw0/splitoff2
...
Rust: Update split_off models
2026-03-09 09:22:36 +00:00
Owen Mansel-Chan
097681e705
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-07 10:17:58 +00:00
Owen Mansel-Chan
63e8061917
Add model validation for constructor summary models
2026-03-07 09:57:09 +00:00
Jeroen Ketema
8bbb0ec954
Merge pull request #21418 from github/jketema/swift-6.2.4
...
Swift: Update to Swift 6.2.4
2026-03-06 21:48:09 +01:00
Geoffrey White
d81b9aa5fd
Merge branch 'main' into splitoff2
2026-03-06 17:24:01 +00:00
Geoffrey White
fd7093e74d
Merge pull request #21375 from geoffw0/mapfix
...
Rust: Add neutral models (map, from)
2026-03-06 17:20:14 +00:00
Óscar San José
a6de855549
Merge pull request #21423 from github/oscarsj/merge-back-rc-3.21
...
Merge back rc/3.21 into main
2026-03-06 16:58:04 +01:00
Óscar San José
3b9eba2afc
Merge branch 'main' of https://github.com/github/codeql into oscarsj/merge-back-rc-3.21
2026-03-06 16:20:36 +01:00
Tom Hvitved
4dca9aa958
Rust: Small refactor in TypeMention.qll
2026-03-06 15:33:11 +01:00
Tom Hvitved
84bef5d4bc
Merge pull request #21420 from hvitved/rust/type-inference-qualified-trait-arg-path
...
Rust: More conservative resolution of `<Foo as Bar<...>>` paths
2026-03-06 15:14:01 +01:00
Geoffrey White
da99d3660d
C++: Turns out we can simplify.
2026-03-06 11:53:43 +00:00
Geoffrey White
7f6fd34d46
C++: Expose a type resolution issue.
2026-03-06 11:34:57 +00:00
Geoffrey White
d23a3f821e
C++: Add a test case for WrongTypeFormatArguments involving code that's included twice.
2026-03-06 11:34:16 +00:00
Jeroen Ketema
2340369e2d
Swift: Add change note
2026-03-06 10:43:33 +01:00
Jeroen Ketema
70c1b58492
Swift: Remove overrides
2026-03-06 10:41:37 +01:00
Jeroen Ketema
f3dc0412b5
Swift: update artifacts
2026-03-06 10:40:43 +01:00
Owen Mansel-Chan
a3e9aed00a
Merge pull request #21416 from owen-mc/csharp/validate-constructor-summary-models
...
C#: Add model validation for constructor summary models
2026-03-06 09:09:39 +00:00
Owen Mansel-Chan
e96ba4806b
Merge pull request #21415 from owen-mc/java/validate-constructor-summary-models
...
Java: validate constructor summary models
2026-03-06 09:09:18 +00:00
Anders Schack-Mulligen
76346eccd8
Merge pull request #21417 from aschackmull/csharp/binary-assignment
...
C#: Make Assignment extend BinaryOperation.
2026-03-06 09:14:20 +01:00
Tom Hvitved
feb45e5731
Merge pull request #21348 from hvitved/csharp/remove-tcs
...
C#: Remove some unbounded TC computations
2026-03-06 09:00:38 +01:00
Taus
66ca10c338
Python: Add change note
2026-03-05 22:20:03 +00:00
Taus
fa61f6f3df
Python: Model @typing.overload in method resolution
...
Adds `hasOverloadDecorator` as a predicate on functions. It looks for
decorators called `overload` or `something.overload` (usually
`typing.overload` or `t.overload`). These are then filtered out in the
predicates that (approximate) resolving methods according to the MRO.
As the test introduced in the previous commit shows, this removes the
spurious resolutions we had before.
2026-03-05 22:20:03 +00:00
Taus
0561a63003
Python: Add test for overloaded __init__ resolution
...
Adds a test showing that `@typing.overload` stubs are spuriously
resolved as call targets alongside the actual `__init__` implementation.
2026-03-05 22:20:03 +00:00
Tom Hvitved
ff41917147
Rust: More conservative resolution of <Foo as Bar<...>> paths
2026-03-05 21:42:33 +01:00
Tom Hvitved
838f3b90e7
Rust: Add type inference test
2026-03-05 20:57:32 +01:00
Owen Mansel-Chan
3c36a9e308
Correctly deal with generic types
2026-03-05 15:47:53 +00:00
Jeroen Ketema
eb81743fb5
Swift: Update to Swift 6.2.4
2026-03-05 16:13:29 +01:00
Anders Schack-Mulligen
d9ef9f82e1
C#: Make Assignment extend BinaryOperation.
2026-03-05 14:41:38 +01:00
Owen Mansel-Chan
92a719092a
Update models in test output
2026-03-05 13:32:52 +00:00
Anders Schack-Mulligen
ffa5110522
C#: Update dbscheme to make assignments part of binary expressions.
2026-03-05 13:59:14 +01:00
Asger F
c9fa7fa283
Merge pull request #21369 from asgerf/js/this-bindings
...
JS: Emit variables for 'this'
2026-03-05 13:36:38 +01:00
Anders Schack-Mulligen
8ef4be49aa
Merge pull request #21412 from aschackmull/java/binary-assignment
...
Java: Make Assignment extend BinaryExpr.
2026-03-05 13:19:45 +01:00
Owen Mansel-Chan
e6996ea29a
Add model validation for constructor summary models
2026-03-05 12:11:25 +00:00
Owen Mansel-Chan
579c871b69
Fix incorrect constructor summary models
2026-03-05 12:03:21 +00:00
Owen Mansel-Chan
63c71b418c
Add model validation for constructor summary models
2026-03-05 12:02:37 +00:00
Anders Schack-Mulligen
3e7a966c0d
Merge pull request #21408 from aschackmull/guards/perf-tweak
...
Guards: Improve performance of forall in guardDeterminesPhiInput.
2026-03-05 12:42:06 +01:00
Owen Mansel-Chan
926725a87f
Merge pull request #21405 from owen-mc/java/consistent-inline-expectation-tests
...
Inline expectation tests should always have space before and after `$`
2026-03-05 11:27:37 +00:00
Paolo Tranquilli
9bf4262dbb
Add /rerun slash command for failed internal checks
2026-03-05 11:38:27 +01:00
Owen Mansel-Chan
c82f75604a
Add change notes
2026-03-05 10:34:30 +00:00
Anders Schack-Mulligen
ea77c0d86c
Java: Add change note.
2026-03-05 11:32:00 +01:00
Anders Schack-Mulligen
ec1d034ee0
Java: Make Assignment extend BinaryExpr.
2026-03-05 11:31:59 +01:00
Anders Schack-Mulligen
37a8fc85eb
Guards: Use unique aggregate.
2026-03-05 11:20:24 +01:00
Tom Hvitved
b5bf1c578c
Merge pull request #21404 from hvitved/dataflow/no-enclosing-stack-flow-feature
...
Data flow: Add `FeatureEscapesSourceCallContext(OrEqualSourceSinkCallContext)` flow feature
2026-03-05 09:36:48 +01:00
Tom Hvitved
f3898329d6
Merge pull request #21413 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-03-05 09:28:47 +01:00
Tom Hvitved
acd6f4156b
C#: Avoid computing full TC in DangerousNonShortCircuitLogic.ql
2026-03-05 09:11:17 +01:00
Tom Hvitved
e22d3a1074
Sync files
2026-03-05 09:11:16 +01:00
Tom Hvitved
212374b94b
C#: Replace a recursive predicate with doublyBoundedFastTc
2026-03-05 09:11:15 +01:00
Tom Hvitved
aa7a730041
C#: Remove some unnecessary TCs
2026-03-05 09:11:13 +01:00
github-actions[bot]
1c5afb2306
Add changed framework coverage reports
2026-03-05 00:32:15 +00:00
Mathias Vorreiter Pedersen
5b30e945ef
Merge pull request #21410 from MathiasVP/add-WebSocket-ReceiveAsync-model
...
C#: Add `System.Net.WebSockets.ReceiveAsync` as a remote flow source
2026-03-04 16:09:50 +00:00
Owen Mansel-Chan
2b3111441d
Add space before $ in xml test file
2026-03-04 15:03:24 +00:00
Owen Mansel-Chan
99a4fe4828
Update expected test output column numbers
2026-03-04 15:02:53 +00:00
Owen Mansel-Chan
aa28c94562
Remove double space after $ in inline expectations tests
2026-03-04 14:12:42 +00:00
Owen Mansel-Chan
501485b9f6
Update library to require space after $
...
We cannot easily require a space before $ because some languages, like
C#, strip whitespace from the beginning of the comment text.
2026-03-04 14:06:59 +00:00
Tom Hvitved
db491fc985
Address review comments
2026-03-04 14:53:01 +01:00
Owen Mansel-Chan
1950fd33db
Ruby: Inline expectation should have space before $
2026-03-04 13:11:41 +00:00
Owen Mansel-Chan
91b6801db1
py: Inline expectation should have space before $
2026-03-04 13:11:38 +00:00
Owen Mansel-Chan
ea30f02271
js: Inline expectation should have space before $
2026-03-04 13:11:35 +00:00
Owen Mansel-Chan
f41c30e335
java: Inline expectation should have space before $
2026-03-04 13:11:33 +00:00
Owen Mansel-Chan
ddebdad9e1
c++: Inline expectation should have space before $
2026-03-04 13:11:30 +00:00
Mathias Vorreiter Pedersen
f8f8991d36
C#: Accept more test changes.
2026-03-04 13:06:59 +00:00
Anders Schack-Mulligen
3c129fcd23
Java: Align BinaryExpr.getOp() with AssignOp.getOp().
2026-03-04 13:46:04 +01:00
Owen Mansel-Chan
6001c735ff
Ruby: Inline expectation should have space after $
...
This was a regex-find-replace from `# \$(?! )` (using a negative lookahead) to `# $ `.
2026-03-04 12:45:06 +00:00
Owen Mansel-Chan
5a97348e78
python: Inline expectation should have space after $
...
This was a regex-find-replace from `# \$(?! )` (using a negative lookahead) to `# $ `.
2026-03-04 12:45:05 +00:00
Owen Mansel-Chan
0eccd902c2
js: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:03 +00:00
Owen Mansel-Chan
45eb14975a
C#: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:02 +00:00
Owen Mansel-Chan
badfa1a5c5
C++: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:00 +00:00
Owen Mansel-Chan
b475f14575
Replace // $:tag with // $ tag in 2 tests
2026-03-04 12:44:59 +00:00
Owen Mansel-Chan
d4ba2d68f9
Go: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:44:57 +00:00
Owen Mansel-Chan
05a77a2005
Java: Update test expectations
2026-03-04 12:44:56 +00:00
Owen Mansel-Chan
ef345a3279
Java: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:44:54 +00:00
Mathias Vorreiter Pedersen
2357ef07cc
C#: Add change note.
2026-03-04 12:35:15 +00:00
Mathias Vorreiter Pedersen
088913d925
C#: Accept test changes.
2026-03-04 12:26:07 +00:00
Mathias Vorreiter Pedersen
83155df1f7
C#: Add 'System.Net.WebSockets.ReceiveAsync' flow source.
2026-03-04 12:26:05 +00:00
Mathias Vorreiter Pedersen
b7992ed8cd
C#: Add test.
2026-03-04 12:25:08 +00:00
Michael Nebel
219ea28217
Merge pull request #21400 from michaelnebel/csharp/implicitconversionreverseflowtaint
...
C#: Add default taint step from an implicit operator call to its argument.
2026-03-04 12:40:59 +01:00
Michael Nebel
fbf40ef02a
Update csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-03-04 12:28:07 +01:00
Geoffrey White
370c5157f1
Merge branch 'main' into mapfix
2026-03-04 10:20:04 +00:00
Anders Schack-Mulligen
2782d90d0f
Merge pull request #21403 from aschackmull/cfg/tweaks
...
Cfg: Small tweaks.
2026-03-04 11:17:15 +01:00
Anders Schack-Mulligen
ad5ab9f270
Gaurds: Improve perf of forall in guardDeterminesPhiInput.
2026-03-04 10:56:51 +01:00
Tom Hvitved
4474e252fe
Add change note
2026-03-04 10:44:26 +01:00
Tom Hvitved
18d2f586b3
Rust: Update AccessAfterLifetime query to use FeatureEscapesSourceCallContextOrEqualSourceSinkCallContext
2026-03-04 10:44:25 +01:00
Tom Hvitved
189c16095d
Data flow: Add FeatureEscapesSourceCallContext(OrEqualSourceSinkCallContext) flow feature
2026-03-04 10:44:23 +01:00
Michael Nebel
a604a68fe9
C#: Add change-note.
2026-03-04 08:03:32 +01:00
Michael Nebel
4e2a93df55
C#: Remove comment.
2026-03-04 07:58:55 +01:00
Mathias Vorreiter Pedersen
6a904eddd4
Merge pull request #21390 from MathiasVP/less-reevaluation-4
...
C++: Reduce re-evaluation
2026-03-03 15:09:55 +00:00
Anders Schack-Mulligen
fe032a5834
Java: Update dbscheme to make @assignment a @binaryexpr.
2026-03-03 15:15:35 +01:00
Michael Nebel
cfd4be6b4e
C#: Update test expected output.
2026-03-03 14:39:57 +01:00
Michael Nebel
93a28cbfaf
C#: Add default (reverse update) taint step from implicit operator calls to their arguments.
2026-03-03 14:39:52 +01:00
Óscar San José
13ce515aab
Merge pull request #21402 from github/post-release-prep/codeql-cli-2.24.3
...
Post-release preparation for codeql-cli-2.24.3
2026-03-03 14:33:49 +01:00
Michael Nebel
8807217e49
C#: Add implicit conversion operator taint example.
2026-03-03 14:26:46 +01:00
Anders Schack-Mulligen
daefd5988e
Java: Accept CFG diff.
2026-03-03 14:18:10 +01:00
Anders Schack-Mulligen
d9ea78bfb8
Cfg: Step directly from a failed case guard to the next case.
2026-03-03 13:42:13 +01:00
Anders Schack-Mulligen
f02abb3e93
Cfg: Handle ExprStmt and BlockStmt in defaultStep.
2026-03-03 13:34:27 +01:00
Michael Nebel
a2f45f1b5b
Merge pull request #21383 from michaelnebel/csharp/postupdatenoderestriction
...
C#: Add post-update nodes for `struct` type argument nodes.
2026-03-03 12:34:06 +01:00
Geoffrey White
bb5bfda14b
Rust: Update the models.
2026-03-03 09:26:54 +00:00
github-actions[bot]
e152f08468
Post-release preparation for codeql-cli-2.24.3
2026-03-02 22:51:27 +00:00
Ian Lynagh
16cd3a8bc0
Merge pull request #21399 from igfoo/igfoo/star_ids_trap_tags_ql
...
C++ overlay: Tweak dbsheme
2026-03-02 17:50:04 +00:00
Óscar San José
7d30e3ca5e
Merge pull request #21401 from github/release-prep/2.24.3
...
Release preparation for version 2.24.3
2026-03-02 17:10:28 +01:00
Michael Nebel
319e3d1ba4
C#: Add change-note.
2026-03-02 15:34:20 +01:00
Michael Nebel
8380474acd
C#: Update other test expected output.
2026-03-02 15:32:37 +01:00
Michael Nebel
a3d15dbaa3
C#: Update test expected output for new tests.
2026-03-02 15:25:31 +01:00
Michael Nebel
ec7e6e8e03
C#: Add post-update nodes for arguments of struct type.
2026-03-02 15:25:27 +01:00
Michael Nebel
4e63b83fd3
C#: Add struct source model example.
2026-03-02 14:50:04 +01:00
Michael Nebel
ea1fc43732
C#: Add data flow test for struct.
2026-03-02 14:50:01 +01:00
Michael Nebel
13959ab91e
Merge pull request #21335 from michaelnebel/csharp14/partialconstrucstors
...
C# 14: Support for partial constructor declarations.
2026-03-02 14:47:56 +01:00
Óscar San José
df7379c0d2
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-02 14:32:16 +01:00
github-actions[bot]
7795badd18
Release preparation for version 2.24.3
2026-03-02 13:23:40 +00:00
Anders Schack-Mulligen
e695477f4f
Merge pull request #21290 from aschackmull/cfg/new-shared
...
Java/Cfg: Introduce new shared CFG library and replace the Java CFG.
2026-03-02 13:56:59 +01:00
Anders Schack-Mulligen
627654cff9
Cfg: A few more review tweaks.
2026-03-02 13:08:23 +01:00
Asger F
f2cc0da936
JS: Add upgrade/downgrade scripts but with 'partial' compatibility
2026-03-02 11:09:19 +01:00
Ian Lynagh
bd0d69ffca
C++: Add up/downgrade scripts
2026-02-27 22:00:01 +00:00
Ian Lynagh
97ed67e284
C++ overlay: Update stats
2026-02-27 21:40:01 +00:00
Mathias Vorreiter Pedersen
db33dadb8e
C++: Add QLDoc. Also actually implement 'uninitializedNode' since there's no reason not to do so.
2026-02-27 17:36:57 +00:00
Mathias Vorreiter Pedersen
1139059d77
C++: Fix imports.
2026-02-27 17:12:00 +00:00
Mathias Vorreiter Pedersen
92f26027e1
C++: Remove outdated comment.
2026-02-27 16:32:04 +00:00
Mathias Vorreiter Pedersen
85875c2879
C++: Remove unnecessary recursion through Node.toString.
2026-02-27 16:32:01 +00:00
Mathias Vorreiter Pedersen
17e6fd2fe9
C++: Disable magic to prevent re-evaluation.
2026-02-27 16:31:58 +00:00
Mathias Vorreiter Pedersen
5d75b255a8
C++: Remove IR re-evaluation.
2026-02-27 16:31:56 +00:00
Mathias Vorreiter Pedersen
26e8701ae3
C++: Fix a few qualifiers.
2026-02-27 16:22:51 +00:00
Mathias Vorreiter Pedersen
cdb41588a9
C++: Fix some imports.
2026-02-27 16:22:49 +00:00
Mathias Vorreiter Pedersen
1eccb8ea93
C++: Add a cache module to taint-tracking and ensure they happen in the same stage as the dataflow stage.
2026-02-27 16:22:47 +00:00
Mathias Vorreiter Pedersen
66611323e2
C++: No need to keep this in its own module now.
2026-02-27 16:22:44 +00:00
Mathias Vorreiter Pedersen
d804fc5168
C++: Remove the 'ExprFlowCached' module. Instead we have a single cached module.
2026-02-27 16:22:42 +00:00
Mathias Vorreiter Pedersen
f223c957ba
C++: Cache 'toString' and 'getLocation'.
2026-02-27 16:22:39 +00:00
Mathias Vorreiter Pedersen
86bd0c0dc3
C++: Move a bunch of newtypes and predicates into a cached module.
2026-02-27 16:22:36 +00:00
Mathias Vorreiter Pedersen
6e0c5615fe
C++: Move a bunch non-public dataflow node subtypes.
2026-02-27 16:22:33 +00:00
Mathias Vorreiter Pedersen
edde4149aa
C++: Move 'Node' into the public module.
2026-02-27 16:22:29 +00:00
Mathias Vorreiter Pedersen
87478d016a
C++: Move 'FieldAddress' and 'conversionFlow'.
2026-02-27 16:22:26 +00:00
Mathias Vorreiter Pedersen
09d74a3b3e
C++: Move 'CanonicalField' stuff.
2026-02-27 16:22:23 +00:00
Mathias Vorreiter Pedersen
271a759490
C++: Move 'TIRDataFlowNode'.
2026-02-27 16:22:21 +00:00
Mathias Vorreiter Pedersen
b9595d985e
C++: Create a new file.
2026-02-27 16:22:19 +00:00
Anders Schack-Mulligen
ab94524328
Cfg: Address review comments.
2026-02-27 16:35:25 +01:00
Ian Lynagh
155e21e729
C++ overlays: Tweak dbscheme
2026-02-27 15:28:15 +00:00
Asger F
d440b5fa85
JS: Update TRAP files
2026-02-27 14:15:34 +01:00
Asger F
47895b3334
JS: Update test for UniquePropertyNames test
...
This query now reports the alert previously found by DuplicateProperty
2026-02-27 13:37:29 +01:00
Asger F
71fb6bf915
JS: Mark corresponding lost result for the getter
2026-02-27 13:35:43 +01:00
Asger F
c673bd9151
JS: Document a missing alert due to limitation in structural comparison
2026-02-27 13:34:55 +01:00
Asger F
0f2de46648
JS: Emit variable bindings for 'this' expressions
2026-02-27 11:44:54 +01:00
Asger F
f0f58dacb3
JS: Also emit 'this' variable for class scopes
2026-02-27 11:44:31 +01:00
Asger F
4a3b86c652
JS: Update test output
2026-02-27 11:13:50 +01:00
yoff
600f585a31
Merge pull request #21296 from yoff/python/bool-comparison-guards
...
Python: Handle guards being compared to boolean literals
2026-02-26 21:13:51 +01:00
Geoffrey White
062fbf2b3c
Rust: Accept consistency check changes from CI.
2026-02-26 15:45:40 +00:00
Tom Hvitved
4280d35bf3
Merge pull request #21366 from hvitved/rust/type-inference-unify-method-resolution
...
Rust: Unify logic in `MethodResolution`; remove `TypeQualifierIsInstantiationOfImplSelf` logic
2026-02-26 14:38:35 +01:00
Tom Hvitved
11a726d1b4
Address review comments
2026-02-26 14:23:41 +01:00
Geoffrey White
ec0b90f4b4
Rust: Simplify with the Copilot suggestions.
2026-02-26 13:00:07 +00:00
Geoffrey White
96a06bed8d
Rust: Accept consistency check changes.
2026-02-26 12:41:17 +00:00
Geoffrey White
f2dc585751
Rust: Convert split_off QL-defined barrier to a neutral model (which was always the intent).
2026-02-26 12:25:23 +00:00
Geoffrey White
478f56b82f
Rust: Move the existing 'alloc' neutral models into alloc.model.yml.
2026-02-26 12:25:10 +00:00
yoff
89e5a9bd72
Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll
...
Co-authored-by: Taus <tausbn@github.com >
2026-02-26 13:14:26 +01:00
yoff
cfbae50845
Python: convert barrier guard to MaD
2026-02-26 13:12:34 +01:00
Geoffrey White
78f855d7e3
Rust: Make the manual model for Option::map more accurate.
2026-02-26 11:34:30 +00:00
Geoffrey White
75ffb5fc4c
Rust: Change note.
2026-02-26 10:59:48 +00:00
Geoffrey White
75fea4245a
Rust: Add neutral models of From::from (corresponding with existing generated sink models).
2026-02-26 10:00:30 +00:00
Geoffrey White
5c108e5c12
Rust: Add a manual model for flow through Option::map.
2026-02-26 09:12:33 +00:00
Geoffrey White
53e886380c
Rust: Add a neutral model of Option::map (so that we don't use the generated models).
2026-02-26 08:36:28 +00:00
Geoffrey White
97f7a26e11
Rust: Add test cases for log injection + uncontrolled allocation size with from.
2026-02-25 19:12:06 +00:00
yoff
9b9c9304c7
Python: simplify logic, suggested in review
2026-02-25 18:16:38 +01:00
yoff
c4f8748a42
Python: simplify barrier guard
2026-02-25 18:03:40 +01:00
Geoffrey White
5523b5e25f
Merge pull request #21271 from geoffw0/neutralmodels
...
Rust: Add support for neutral models.
2026-02-25 16:15:55 +00:00
Paolo Tranquilli
4e4d0555c0
Merge pull request #21373 from github/redsun82/load-cc-explicitly
...
Bazel: load `rules_cc` and `rules_shell` explicitly
2026-02-25 16:10:16 +01:00
Geoffrey White
1213369d75
Rust: Add test cases for log injection with map.
2026-02-25 14:30:01 +00:00
Geoffrey White
ccc318106e
Rust: Add an empty.model.yml similar to the one in CPP, to avoid errors about missing extensionals.
2026-02-25 14:25:12 +00:00
Paolo Tranquilli
4d0c72eafe
Bazel: add explicit rules_shell load
2026-02-25 14:05:53 +01:00
Paolo Tranquilli
15a2575949
Merge branch 'main' into redsun82/load-cc-explicitly
2026-02-25 13:59:29 +01:00
Paolo Tranquilli
968856ed96
Merge pull request #21371 from github/redsun82/fix-local-go-builds
...
Go: fix standalone build of the Go extractor
2026-02-25 13:52:49 +01:00
Paolo Tranquilli
5b5dc9c708
Bazel: load rules_cc explicitly
...
Turns out in https://github.com/github/codeql/pull/21371 I was right
about `java_*` rules not relying on autoload anywhere, but it turns out
some `cc_*` rules still relied on autoload. This autoload is currently
configured in the internal repository, but we want to remove it
eventually. This patch:
* adds explicit loads to `rules_cc`
* removes an obsolete file (that depedency has its own bazel module
since some time, we just forgot to remove the old file)
2026-02-25 13:52:25 +01:00
Paolo Tranquilli
42e41c57d4
Go: fix standalone build of the Go extractor
...
https://github.com/github/codeql/pull/21276 worked together with the
internal changes but broke the standalone build of the Go extractor of
this repo in isolation.
The root cause was the lack of an auto-loaded `java_library` rule
definition. This fixes it.
I also checked this doesn't happen anywhere else.
2026-02-25 13:33:54 +01:00
Asger F
e0ab5ce49b
JS: Emit variables for 'this'
...
The extractor does not emit bindings for 'this', we just ensure that a variable exists for it
2026-02-25 10:17:02 +01:00
Asger F
f0e665d08c
Merge pull request #21349 from asgerf/mobx-wrapper
...
Support React components wrapped by 'mobx-react'
2026-02-25 09:24:45 +01:00
Tom Hvitved
de9b1adf63
Rust: Unify logic in MethodResolution; remove TypeQualifierIsInstantiationOfImplSelf logic
2026-02-25 09:05:58 +01:00
Tom Hvitved
018674cfde
Merge pull request #21333 from hvitved/rust/type-inference-restrict-receiver-type-propagation
...
Rust: Restrict type propagation into receivers
2026-02-25 08:48:14 +01:00
Mathias Vorreiter Pedersen
266130b5cf
Merge pull request #21360 from microsoft/unbreak-changes
...
C++: Provide `BarrierGuard` API without a `Unit` column when instantiating non-parameterized `BarrierGuard`s
2026-02-24 16:57:58 +00:00
Geoffrey White
8769059ce5
Rust: Remove another call to neutralModel we don't need to make explicitly.
2026-02-24 15:01:45 +00:00
Taus
6bfb1e1fae
Merge pull request #21344 from github/tausbn/python-remove-points-to-from-metrics-libraries
...
Python: Remove points-to from metrics library
2026-02-24 15:55:16 +01:00
Taus
f107235db2
Update change note
2026-02-24 15:08:36 +01:00
Michael Nebel
06a8fd0e4a
C#: Add change-note.
2026-02-24 14:42:18 +01:00
Michael Nebel
113565ba76
C#: Update test expected output.
2026-02-24 14:38:59 +01:00
Michael Nebel
ae5ab9c67c
C#: Partial constructor declaration support.
2026-02-24 14:32:24 +01:00
Michael Nebel
884c61604e
C#: Add dataflow test for partial constructors.
2026-02-24 14:32:22 +01:00
Michael Nebel
c5e1f0ccc9
C#: Update partial tests and expected output.
2026-02-24 14:32:20 +01:00
Michael Nebel
3e2f6e571f
Merge pull request #21351 from michaelnebel/csharp/fixpartialmethod
...
C#: Fix issue with partial method extraction.
2026-02-24 14:23:44 +01:00
Mathias Vorreiter Pedersen
ea9e4b3409
C++: Make a test slightly more verbose to catch this issue in the future.
2026-02-24 12:52:18 +00:00
Mathias Vorreiter Pedersen
d36350aca4
C++: Add change note.
2026-02-24 12:48:45 +00:00
Jeroen Ketema
0947323e78
Merge pull request #21359 from jketema/jketema/softfloat-revert
...
Revert SoftFloat Changes
2026-02-24 13:34:52 +01:00
Mathias Vorreiter Pedersen
15af6c1b20
C++: Provide barrier node API without the unit column when instantiating non-parameterized barrier guards.
2026-02-24 12:32:23 +00:00
Tom Hvitved
f9869daa91
Address review comments
2026-02-24 12:12:47 +01:00
Tom Hvitved
61d809b41a
Rust: Add another type inference test
2026-02-24 12:08:40 +01:00
Jeroen Ketema
197ee9b9a6
Revert "Merge pull request #21208 from jketema/jketema/softfloat"
...
This reverts commit 99de5d4238 , reversing
changes made to 12bd709219 .
2026-02-24 11:08:25 +01:00
yoff
7df44f9418
python: add change note
2026-02-24 10:00:22 +01:00
yoff
7351e82c92
python: handle guards compared to boolean literals
2026-02-24 10:00:22 +01:00
yoff
8488039fb9
python: add tests for guards compared to booleans
2026-02-24 10:00:21 +01:00
Michael Nebel
7de476aeb0
C#: Add change note.
2026-02-24 07:56:02 +01:00
Michael Nebel
a255b4f50f
C#: Update test expected output.
2026-02-24 07:56:00 +01:00
Michael Nebel
003b539287
C#: Streamline the partial implementation for properties and events.
2026-02-24 07:55:59 +01:00
Michael Nebel
03a54bfbf9
C#: Update test expected output.
2026-02-24 07:55:57 +01:00
Michael Nebel
d3fcc2a6cc
C#: Extract partial method declaration.
2026-02-24 07:55:54 +01:00
Michael Nebel
e8427a59f5
C#: Cache the Block and ExpressionBody and streamline implementation too look for both when checking whether a body is available.
2026-02-24 07:55:53 +01:00
Geoffrey White
e9511560b7
Rust: Autoformat.
2026-02-23 19:51:22 +00:00
Geoffrey White
6b7f339287
Rust: Define neutralElement in the shared data flow input.
2026-02-23 19:38:13 +00:00
Jon Janego
0151e8427c
Merge pull request #21357 from github/codeql-spark-run-22317536589
...
Update changelog documentation site
2026-02-23 13:35:16 -06:00
Jon Janego
e14b4f1c5c
Merge branch 'main' into codeql-spark-run-22317536589
2026-02-23 11:52:17 -06:00
Jon Janego
365bae1f9c
Fix formatting in codeql-cli-2.23.1.rst
2026-02-23 11:50:46 -06:00
Jon Janego
79ac95d8a8
Fix syntax error with '=' in format specifier
2026-02-23 11:50:03 -06:00
Jon Janego
8719072519
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-23 11:46:50 -06:00
Jon Janego
af0bfe0981
Promote CORS configuration query to default suite
2026-02-23 11:46:30 -06:00
Jon Janego
d546b85163
Fix formatting for Kotlin version support note
2026-02-23 11:45:59 -06:00
Jon Janego
2969feef89
Fix formatting in Kotlin version support note
2026-02-23 11:45:30 -06:00
Jon Janego
9773775a08
Update codeql-cli-2.19.1.rst
2026-02-23 11:44:53 -06:00
github-actions[bot]
532e1feacc
update codeql documentation
2026-02-23 17:40:16 +00:00
Michael Nebel
7d7bbf2a50
C#: Add data flow test for partial method.
2026-02-23 15:10:15 +01:00
Michael Nebel
0e543a9843
C#: Update partial method test to count the number of extracted bodies.
2026-02-23 15:10:14 +01:00
Michael Nebel
a83c53ec9a
C#: Add a partial method example with a body.
2026-02-23 15:10:12 +01:00
Anders Schack-Mulligen
94121f19ca
Guards: Improve join-order.
2026-02-23 15:10:03 +01:00
Anders Schack-Mulligen
2b8e719034
Java: Add nullness test covering known FP.
2026-02-23 15:10:03 +01:00
Anders Schack-Mulligen
bdbbd45909
Java: Handle missing throws clauses.
2026-02-23 15:10:02 +01:00
Anders Schack-Mulligen
0d0711f2a7
Java: Add change note.
2026-02-23 15:10:02 +01:00
Anders Schack-Mulligen
d4873dd35e
Java: Adjust switch case guards test.
2026-02-23 15:10:01 +01:00
Anders Schack-Mulligen
f7317b6a2b
Java: Enable Cfg consistency checks.
2026-02-23 15:10:01 +01:00
Anders Schack-Mulligen
352b3711f6
Java: Remove obsolete tests - false successors are no longer special.
2026-02-23 15:10:00 +01:00
Anders Schack-Mulligen
eb37c413f2
Java: Accept revised CFG.
2026-02-23 15:10:00 +01:00
Anders Schack-Mulligen
106a9d479f
Java: Accept reduced precision from no longer nesting completions in YieldCompletions.
2026-02-23 15:09:59 +01:00
Anders Schack-Mulligen
d84e0e262d
Java: Accept removal of spurious reason (the alert stays).
2026-02-23 15:09:59 +01:00
Anders Schack-Mulligen
8b0dd7b866
Java: Accept new TP in NullMaybe.
2026-02-23 15:09:58 +01:00
Anders Schack-Mulligen
b798bc2c8f
Java: Fix enhancedForEarlyExit implementation.
2026-02-23 15:09:58 +01:00
Anders Schack-Mulligen
a72cf56a05
Java: Accept dispatch precision improvement.
2026-02-23 15:09:57 +01:00
Anders Schack-Mulligen
4d9c0e0c26
Java: Accept new locations for SSA definitions.
2026-02-23 15:09:57 +01:00
Anders Schack-Mulligen
a6ee1df567
Java: Remove test. Flexible constructors need AST-based tests, which are already in place, not CFG tests.
2026-02-23 15:09:56 +01:00
Anders Schack-Mulligen
581679d27d
Java: Fix reference to entry node.
2026-02-23 15:09:56 +01:00
Anders Schack-Mulligen
fc8b7c04cf
Java: Exclude ExprStmt consistent with SwitchCase.getRuleExpression().
2026-02-23 15:09:55 +01:00
Anders Schack-Mulligen
ccd28ff66a
Java: Fix instanceof-disjunction.
2026-02-23 15:09:55 +01:00
Anders Schack-Mulligen
a844d60174
Java: Accept new CFG nodes.
2026-02-23 15:09:54 +01:00
Anders Schack-Mulligen
6ac8c4f544
Java: Accept test changes due to pruned CFG, after-nodes, and reduced exception precision.
2026-02-23 15:09:54 +01:00
Anders Schack-Mulligen
e0eb653dcc
Java: Accept guards test changes for revised switch CFG.
2026-02-23 15:09:53 +01:00
Anders Schack-Mulligen
fb2799bd47
Java: Adjust idominance tests.
2026-02-23 15:09:53 +01:00
Anders Schack-Mulligen
12b9999289
Java: Adjust BasicBlock-based qltests.
2026-02-23 15:09:52 +01:00
Anders Schack-Mulligen
7871cd74f6
Java: Fix switchcase guards.
2026-02-23 15:09:52 +01:00
Anders Schack-Mulligen
1e9dcea88b
Java: Fix RangeAnalysis/ModulusAnalysis.
2026-02-23 15:09:51 +01:00
Anders Schack-Mulligen
6fbdb2c52b
Java: Fix Cyclomatic complexity calculation.
2026-02-23 15:09:51 +01:00
Anders Schack-Mulligen
48e3724299
Java/Cfg: Introduce new shared CFG library and replace the Java CFG.
2026-02-23 15:09:50 +01:00
Anders Schack-Mulligen
0c9931ff8a
Java: Replace idominance tests.
2026-02-23 15:09:50 +01:00
Anders Schack-Mulligen
48d7d9cedb
Cfg: Add getEnclosingCallable to shared BasicBlock
2026-02-23 15:09:49 +01:00
Anders Schack-Mulligen
4a97a449fc
Java: Replace ControlFlowNode.asCall with Call.getControlFlowNode.
2026-02-23 15:09:49 +01:00
Anders Schack-Mulligen
2e987343dd
Java: Preparatory tweaks.
2026-02-23 15:09:48 +01:00
Anders Schack-Mulligen
723a896b99
Cfg: Add ConditionKind and getDual to ConditionalSuccessor.
2026-02-23 15:09:48 +01:00
Owen Mansel-Chan
ada9c452f0
Merge pull request #21336 from owen-mc/js/accept-mad-sanitizers
...
JS: Accept MaD sanitizers for queries with MaD sinks
2026-02-23 13:44:54 +00:00
Jeroen Ketema
99de5d4238
Merge pull request #21208 from jketema/jketema/softfloat
...
C++: Update expected test results after extractor changes
2026-02-23 13:52:43 +01:00
Owen Mansel-Chan
12bd709219
Merge pull request #21341 from owen-mc/rb/accept-mad-sanitizers
...
Ruby: Accept MaD sanitizers for queries with MaD sinks and convert some existing sanitizers
2026-02-23 11:44:05 +00:00
Jeroen Ketema
a935d97190
C++: Update expected test results after extractor changes
2026-02-23 11:54:58 +01:00
Taus
480ae619e6
Merge pull request #21116 from github/tausbn/python-add-dataflow-overlay-annotations
...
Add `overlay[local]` annotations
2026-02-21 13:44:09 +01:00
Jeroen Ketema
8947f7afd8
Merge pull request #21329 from paldepind/cpp/simple-range-analysis-phi-divide
...
C++: Divide number of bounds between branches for phi nodes
2026-02-20 17:05:01 +01:00
Jeroen Ketema
9228304294
Merge branch 'main' into cpp/simple-range-analysis-phi-divide
2026-02-20 16:25:26 +01:00
Simon Friis Vindum
8eed18a8ff
C++: Fix typo
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-02-20 16:24:19 +01:00
Simon Friis Vindum
fdbd49a843
C++: Improve clarity in comment
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2026-02-20 13:38:24 +01:00
Paolo Tranquilli
15fde872b5
Merge pull request #21276 from github/redsun82/bazel-9
...
Upgrade Bazel to 9.0.0
2026-02-20 13:26:14 +01:00
Mathias Vorreiter Pedersen
1dba99f47d
Merge pull request #21292 from microsoft/UncheckedLeaprYearAfterModification_Refactor_Upstream
...
C++: Refactor of UncheckedLeapYearAfterModification
2026-02-20 12:11:45 +00:00
Asger F
27638c7029
JS: Add change note
2026-02-20 11:20:46 +01:00
Paolo Tranquilli
a5905a6f20
Merge branch 'main' into redsun82/bazel-9
2026-02-20 10:51:18 +01:00
Geoffrey White
ca41ae0d1a
Merge pull request #21347 from geoffw0/toolstatus
...
Rust: Update rust/diagnostic/database-quality
2026-02-20 09:16:44 +00:00
REDMOND\brodes
38219f6ebb
C++: Fixing FP in unit tests.
2026-02-19 14:08:36 -05:00
Geoffrey White
b08e4e1dba
Merge branch 'main' into toolstatus
2026-02-19 16:19:15 +00:00
Taus
07099f17d6
Python: Add change note
2026-02-19 12:32:27 +00:00
Taus
e8de8433f4
Python: Update all metrics-dependant queries
...
The ones that no longer require points-to no longer import
`LegacyPointsTo`. The ones that do use the specific
`...MetricsWithPointsTo` classes that are applicable.
2026-02-19 12:32:27 +00:00
Taus
20fea3955e
Python: Remove points-to from Metrics.qll
...
Moves the classes/predicates that _actually_ depend on points-to to the
`LegacyPointsTo` module, leaving behind a module that contains all of
the metrics-related stuff (line counts, nesting depth, etc.) that don't
need points-to to be evaluated.
Consequently, `Metrics` is now no longer a private import in
`python.qll`.
2026-02-19 12:32:27 +00:00
Asger F
a684943bb7
JS: Model mobx-react{-lite} as higher-order component builders
2026-02-19 11:26:46 +01:00
Asger F
a0099d64c8
JS: Add mobx-react and mobx-react-lite tests
2026-02-19 11:26:44 +01:00
Paolo Tranquilli
dfe451128e
Merge branch 'main' into redsun82/bazel-9
2026-02-19 11:05:32 +01:00
Geoffrey White
fd5c5b5635
Rust: Change note.
2026-02-19 08:59:55 +00:00
Geoffrey White
97a02ed903
Rust: Remove MacroCallTargetStats from rust/diagnostic/database-quality.
2026-02-19 08:57:12 +00:00
Paolo Tranquilli
6e8f43ce2e
Merge pull request #21343 from github/redsun82/update-rust-toolchain
...
Bazel: Update Rust toolchain to nightly/2026-01-22 and rules_rust to 0.68.1.codeql.1
2026-02-19 09:40:26 +01:00
Tom Hvitved
6dfbd4e062
Merge pull request #21342 from hvitved/csharp/equals-nullable-tests
...
C#: Add tests for `Equals` methods with nullable parameter types
2026-02-19 09:08:33 +01:00
Paolo Tranquilli
e11363280a
Rust: accept test changes
2026-02-18 16:56:28 +01:00
Taus
6b6d8862b0
Merge pull request #21288 from microsoft/azure_python_sanitizer_upstream2
...
Azure python sanitizer upstream2
2026-02-18 14:59:59 +01:00
Owen Mansel-Chan
1d6b8c5120
Use postprocessing queries for unrelated test
...
Need to do this because the model numbering was changing. At the same
time we may as well use inline expectations.
2026-02-18 13:49:53 +00:00
Owen Mansel-Chan
05d681fe19
Update taintstep test for models becoming MaD
2026-02-18 13:49:50 +00:00
Mathias Vorreiter Pedersen
a2339305e5
Merge pull request #329 from geoffw0/moreascii
...
Address more non-ascii characters
2026-02-18 13:43:16 +00:00
Owen Mansel-Chan
f577e973bc
Update other test in same folder
2026-02-18 13:39:06 +00:00
Óscar San José
df35f9f98b
Merge pull request #21339 from github/oscarsj/skip-csharp-integration-on-macos-26
...
Skip csharp integration tests on macos-26
2026-02-18 14:29:42 +01:00
Paolo Tranquilli
24f3d9ede0
Revert rust-toolchain.toml changes and update test expectations
2026-02-18 13:56:48 +01:00
Taus
3d4785f29f
Python: Add change note
2026-02-18 12:51:35 +00:00
Tom Hvitved
1357de90ec
Merge pull request #21311 from hvitved/rust/path-resolution-remove-duplicates
...
Rust: Make path resolution robust against invalid code with conflicting declarations
2026-02-18 12:29:06 +01:00
Geoffrey White
d7250a8abe
Address more non-ascii characters.
2026-02-18 11:23:01 +00:00
Paolo Tranquilli
116f5a253c
Bazel: Update Rust toolchain to nightly/2026-01-22 and rules_rust to 0.68.1.codeql.1
...
Update the Rust nightly toolchain from nightly/2025-08-01 to nightly/2026-01-22
(rustc 1.95.0-nightly), and rules_rust from 0.66.0 to 0.68.1.codeql.1.
The new nightly changed how stdlib metadata is distributed: .rlib files now
contain only a metadata stub, with full metadata in separate .rmeta files.
rules_rust's stdlib glob doesn't include *.rmeta, causing 'only metadata stub
found' errors. This is patched via a custom registry entry (0.68.1.codeql.1).
Upstream bug: https://github.com/bazelbuild/rules_rust/issues/3859
2026-02-18 12:22:01 +01:00
Idriss Riouak
22b55f3d6f
Merge pull request #21063 from github/idrissrio/cpp/overlay/single-location
...
C/C++ overlay: discard single location elements
2026-02-18 08:58:21 +01:00
Tom Hvitved
93d417049c
C#: Add tests for Equals methods with nullable parameter types
2026-02-18 08:42:15 +01:00
Owen Mansel-Chan
1bff7a3eb8
Add change note
2026-02-17 22:29:35 +00:00
Owen Mansel-Chan
eb7f1989c7
Reinstate ql model for String#shellescape
2026-02-17 22:27:15 +00:00
Owen Mansel-Chan
de5470a85c
Add MaD barriers for Shellwords.escape and shellescape
...
Note that this will only block flow for queries that use the kind `command-injection`.
2026-02-17 22:27:13 +00:00
Owen Mansel-Chan
b3681f7a0c
Model flow through Shellwords escape and shellescape
2026-02-17 22:27:11 +00:00
Owen Mansel-Chan
6294c3b3b8
Remove Shellwords sanitizer in ql
...
Note that some sanitizers had no effect because flow through those functions wasn't modeled.
2026-02-17 22:27:10 +00:00
Owen Mansel-Chan
4aee99f0eb
Reinstate SQLite3 sanitizer in MaD
2026-02-17 22:27:08 +00:00
Owen Mansel-Chan
5df695bec9
Move SQLite3 flow model to MaD and remove ql sanitizer
2026-02-17 22:27:06 +00:00
Owen Mansel-Chan
1fa183ee2a
Improve Sqlite3 test
2026-02-17 22:27:04 +00:00
Owen Mansel-Chan
d4bb92b038
Reinstate Mysql2 sanitizer in MaD
2026-02-17 22:27:03 +00:00
Owen Mansel-Chan
3e4f42f8a3
Move Mysql2 flow model to MaD and remove ql sanitizer
2026-02-17 22:27:01 +00:00
Owen Mansel-Chan
fc429c1757
Improve Mysql2 test
2026-02-17 22:27:00 +00:00
Owen Mansel-Chan
1d7a39a093
Change how sql-injection barriers are accepted
2026-02-17 22:26:58 +00:00
Ben Rodes
a1eaf42cbf
Update python/ql/lib/change-notes/2026-02-09-ssrf_test_case_cleanup_and_new_ssrf_barriers.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-17 13:05:51 -05:00
Óscar San José
fa73cd5d5c
Remove unnecessary blank line in test.py
2026-02-17 18:49:51 +01:00
Óscar San José
6760390d75
Fix imports
2026-02-17 18:49:11 +01:00
Óscar San José
60295662b7
Merge branch 'main' into oscarsj/skip-csharp-integration-on-macos-26
2026-02-17 18:42:16 +01:00
Ben Rodes
ea0d1bf262
Apply suggestion from @bdrodes
2026-02-17 12:38:59 -05:00
Ben Rodes
0106072b88
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 12:35:27 -05:00
Ben Rodes
779fd757a3
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 12:35:15 -05:00
Óscar San José
0b31ca4348
Merge pull request #21340 from github/copilot/sub-pr-21339
...
Centralize mono/nuget platform skip predicate in conftest.py
2026-02-17 18:26:31 +01:00
copilot-swe-agent[bot]
60b8213fdd
Remove unused pytest import from conftest.py
...
Co-authored-by: oscarsj <1410188+oscarsj@users.noreply.github.com >
2026-02-17 17:22:27 +00:00
copilot-swe-agent[bot]
004ebd386c
Centralize mono/nuget skip predicate in conftest.py
...
Co-authored-by: oscarsj <1410188+oscarsj@users.noreply.github.com >
2026-02-17 17:21:50 +00:00
copilot-swe-agent[bot]
9efe112026
Initial plan
2026-02-17 17:16:54 +00:00
Óscar San José
5cf281a1b6
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-17 18:16:51 +01:00
Jeroen Ketema
61dc1d673e
Merge pull request #21331 from jketema/must-flow
...
C++: Modernize `MustFlow` and fix `allowInterproceduralFlow` in the case of direct recursion
2026-02-17 17:36:58 +01:00
Óscar San José
0676ba1c07
Skip csharp integration tests on macos-26
2026-02-17 17:23:38 +01:00
Ben Rodes
1072d6a7b7
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:49:58 -05:00
Ben Rodes
ceb3b21e0f
Update python/ql/lib/semmle/python/security/dataflow/ServerSideRequestForgeryCustomizations.qll
...
Co-authored-by: Taus <tausbn@github.com >
2026-02-17 10:28:43 -05:00
Ben Rodes
c811fae876
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:14:11 -05:00
Ben Rodes
549dcb31be
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:13:55 -05:00
Owen Mansel-Chan
05f9b4124d
Revert "javascript: remove sanitizer to be replaced by model"
...
This reverts commit da2f77d615 .
2026-02-17 14:39:04 +00:00
Owen Mansel-Chan
b8f9dd9de5
Revert "javascript: add MaD model"
...
This reverts commit 75bd4a7a12 .
2026-02-17 14:38:56 +00:00
Michael Nebel
a8e93e7fa0
Merge pull request #21325 from michaelnebel/csharp14/partialmembers
...
C# 14: Support for partial `event` declarations.
2026-02-17 15:00:00 +01:00
Idriss Riouak
744ade6720
Merge pull request #21338 from github/idrissrio/java/fix-change-note
...
Java: Fix Maven change note
2026-02-17 14:48:37 +01:00
Idriss Riouak
c877487e11
Merge pull request #21337 from github/idrissrio/java/jdk26-note
...
Java: Add change note for Java 26 and updated supported languages
2026-02-17 14:48:16 +01:00
idrissrio
5151df456c
Java: Fix Maven change note
2026-02-17 14:27:27 +01:00
idrissrio
8aa839f4c0
Java: Address review comments
2026-02-17 14:19:12 +01:00
idrissrio
1a35a05ccc
Java: Update supported language versions to include Java 26
2026-02-17 13:59:45 +01:00
idrissrio
bd94ceddd9
Java: Add change note for JDK 26
2026-02-17 13:58:55 +01:00
Owen Mansel-Chan
3dc465f167
Accept MaD sanitizers for queries with MaD sinks
2026-02-17 12:48:36 +00:00
Owen Mansel-Chan
61e8f91404
Accept MaD sanitizers for queries with MaD sinks
2026-02-17 12:45:24 +00:00
Tom Hvitved
e587541e55
Rust: Restrict type propagation into receivers
2026-02-17 13:42:56 +01:00
Tom Hvitved
8a051d7e57
Rust: Add type inference test
2026-02-17 13:40:16 +01:00
Michael Nebel
fa27eaabef
Merge pull request #21309 from michaelnebel/csharp14/field
...
C# 14: Support the `field` keyword.
2026-02-17 11:53:48 +01:00
Tom Hvitved
d3541b87d6
Rust: Make path resolution robust against invalid code with conflicting declarations
2026-02-17 11:13:32 +01:00
idrissrio
c3f0967e9b
C/C++ overlay: discard single location elements
2026-02-17 10:50:24 +01:00
Jeroen Ketema
3aa21242cd
C++: Add change notes
2026-02-17 10:28:29 +01:00
Owen Mansel-Chan
94e3d86f6a
Merge pull request #21319 from owen-mc/java/javax-jakarta
...
Java: Always use both "javax" and "jakarta" at the beginning of Jave EE packages
2026-02-17 08:31:52 +00:00
Jeroen Ketema
31895c04f8
C++: MustFlow minor clean up
2026-02-17 09:06:36 +01:00
Jeroen Ketema
e299cccb6e
C++: Simplify test
2026-02-16 19:09:30 +01:00
Jeroen Ketema
4efbc6ea9b
C++: Handle allowInterproceduralFlow correctly in case of recursive functions
2026-02-16 19:04:23 +01:00
Jeroen Ketema
366ebcad83
C++: Add cpp/return-stack-allocated-memory test case
2026-02-16 18:58:39 +01:00
Michael B. Gale
b34777e67f
Merge pull request #21332 from github/post-release-prep/codeql-cli-2.24.2
...
Post-release preparation for codeql-cli-2.24.2
2026-02-16 17:50:30 +00:00
github-actions[bot]
b5898c5a30
Post-release preparation for codeql-cli-2.24.2
2026-02-16 17:07:45 +00:00
Taus
cd62cdadff
Python: Fix bad join in returnStep
2026-02-16 16:48:08 +00:00
Jeroen Ketema
73194a5e86
C++: Fix QL-for-QL warnings and missing QLDoc
2026-02-16 17:40:18 +01:00
Jeroen Ketema
26a1f4888a
C++: Modernize MustFlow using parameterized modules
2026-02-16 17:27:41 +01:00
Michael Nebel
c29bac2bc1
C#: Add change-note.
2026-02-16 16:13:06 +01:00
Michael Nebel
43c6e7d250
C#: Update test expected output.
2026-02-16 16:10:32 +01:00
Michael Nebel
9289ac2838
C#: Support for partial event declarations.
2026-02-16 16:10:28 +01:00
Michael Nebel
eec4739497
C#: Add viable callable test for partial event.
2026-02-16 16:10:26 +01:00
Michael Nebel
2b78a7b256
C#: Add PartialEvent test case.
2026-02-16 16:10:25 +01:00
Michael B. Gale
fb67f93a86
Merge pull request #21330 from github/release-prep/2.24.2
...
Release preparation for version 2.24.2
2026-02-16 15:00:27 +00:00
Taus
304cd12fff
Python: Fix bad join in missing_imported_module
...
This caused a ~30x blowup in intermediate tuples, now back to baseline.
2026-02-16 13:48:33 +00:00
Taus
987b10ab3e
Python: Fix bad join in OutgoingRequestCall
...
On `keras-team/keras`, this was producing ~200 million intermediate
tuples in order to produce a total of ... 2 tuples.
After the refactor, max intermediate tuple count is ~80k for the
charpred (and 4 for the new helper predicate).
2026-02-16 13:48:33 +00:00
Taus
72f5109ec2
Python: Add more overlay[caller] to Flow.qll
...
These were causing the repo `gufolabs/noc` to spend ~30 seconds
evaluating `ControlFlowNode.strictlyDominates`. Just in case, I added
`overlay[caller] to the other instances of `pragma[inline]` as well.
2026-02-16 13:48:33 +00:00
Taus
248932db7a
Python: Fix frameworks/data/warnings.ql
2026-02-16 13:48:32 +00:00
Taus
306d7d1b5d
Python: DataFlowDispatch.qll annotations
2026-02-16 13:48:32 +00:00
Taus
7ea96c43ec
Python: DataFlowPrivate.qll annotations
2026-02-16 13:48:32 +00:00
Taus
bd71db87be
Python: DataFlowPublic.qll annotations
2026-02-16 13:48:32 +00:00
Taus
c46c662b72
Python: LocalSources.qll annotations
2026-02-16 13:48:32 +00:00
Taus
df0f2f8ce4
Python: Simple dataflow annotations
...
None of these required any changes to the dataflow libraries, so it
seemed easiest to put them in their own commit.
2026-02-16 13:48:32 +00:00
Taus
51ebec9164
Python: Fix broken queries
2026-02-16 13:48:32 +00:00
Taus
fd7b123ee3
Python: Add overlay annotations to AST classes
...
... and everything else that it depends on.
2026-02-16 13:48:32 +00:00
Tom Hvitved
79cbf2f1cf
Merge pull request #21312 from hvitved/rust/type-inference-bad-join
...
Rust: Fix bad join
2026-02-16 14:45:58 +01:00
Simon Friis Vindum
d0681c6ffb
C++: Divide nr of bounds between branches for phi nodes
2026-02-16 14:36:09 +01:00
Simon Friis Vindum
032c7ea034
C++: Include the actual number of lower/upper bounds for added context in expected files
2026-02-16 14:36:08 +01:00
Simon Friis Vindum
da527ffc19
C++: Add simple range analysis test with repeated if-else statements
2026-02-16 14:36:06 +01:00
github-actions[bot]
ef04f927fb
Release preparation for version 2.24.2
2026-02-16 13:29:25 +00:00
Owen Mansel-Chan
7742a5667f
Merge pull request #21326 from owen-mc/java/log-injection-regex-match
...
Java: Recognise `@Pattern` annotation as sanitizer for log injection
2026-02-16 12:14:28 +00:00
Owen Mansel-Chan
cf73d96c9d
Update test results (remove SPURIOUS annotations)
2026-02-16 12:03:02 +00:00
Owen Mansel-Chan
597be6a1c0
Add change note
2026-02-16 12:01:15 +00:00
Owen Mansel-Chan
94f1d94a2b
Rename MethodCall ma to mc
2026-02-16 12:01:14 +00:00
Owen Mansel-Chan
9fc95f5171
Expand log injection sanitizers to annotation regex matches
2026-02-16 12:01:13 +00:00
Owen Mansel-Chan
924bb92d91
Expand log injection sanitizer guards to non-annotation regex matches
2026-02-16 12:01:11 +00:00
Owen Mansel-Chan
60e58f8219
Refactor logInjectionGuard part 2
2026-02-16 12:01:10 +00:00
Owen Mansel-Chan
6c0c1d558e
Refactor logInjectionGuard part 1
2026-02-16 12:01:08 +00:00
Owen Mansel-Chan
146fc7a8c0
Add failing log injection test for @Pattern validation
2026-02-16 12:01:07 +00:00
Owen Mansel-Chan
91c731f68d
Fix new usage that was introduced
2026-02-16 11:03:27 +00:00
Owen Mansel-Chan
c4192b670b
More copilot suggestions
2026-02-16 11:02:21 +00:00
Owen Mansel-Chan
53b8f2abb1
Apply copilot's fixes
2026-02-16 11:02:20 +00:00
Owen Mansel-Chan
178fbf9600
Add missing QLDoc
2026-02-16 11:02:19 +00:00
Owen Mansel-Chan
6da3a4557e
Add change note
2026-02-16 11:02:17 +00:00
Owen Mansel-Chan
31840902cd
Fix places which already dealt with both javax and jakarta
2026-02-16 11:02:16 +00:00
Owen Mansel-Chan
4b240ebf8a
Define new predicate javaxOrJakarta()
2026-02-16 11:02:14 +00:00
Owen Mansel-Chan
a5e6f6daf9
Replace "javax" with javaxOrJakarta()
...
This is just a find-replace of `"javax` with `javaxOrJakarta() + "`.
2026-02-16 11:02:12 +00:00
Jeroen Ketema
7d2b40c657
Merge pull request #21313 from MathiasVP/range-analysis-lower-bound-and-measure-enums
...
C++: Measure bounds for `Enum` constants and reduce `getBoundsLimit`
2026-02-16 11:50:38 +01:00
Mathias Vorreiter Pedersen
5ccd61ac97
C++: Respond to review comments.
2026-02-16 09:49:31 +00:00
Mathias Vorreiter Pedersen
bfbb2eef6c
C++: Add a test showing that we infer a lower and upper bound for parameters of enum types.
2026-02-16 09:38:15 +00:00
Mathias Vorreiter Pedersen
84be8517bb
Update cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-16 09:30:56 +00:00
Tom Hvitved
149f3ed5b6
Merge pull request #21301 from hvitved/rust/type-inference-trait-call-perf
...
Rust: Speedup type inference for `Trait::function()` calls
2026-02-16 10:20:50 +01:00
Owen Mansel-Chan
47a9f87d9b
Merge pull request #21310 from owen-mc/java/regex-execution
...
Java: Add RegexMatch concept and recognise `@Pattern` annotation as sanitizer
2026-02-16 09:11:47 +00:00
Simon Friis Vindum
6f609a5ed6
Merge pull request #21316 from paldepind/ruby/binary-of-at-start-of-line
...
Ruby: Add test cases for binary operator at start of line
2026-02-16 09:49:48 +01:00
Paolo Tranquilli
05a50ad21a
Merge branch 'main' into redsun82/bazel-9
2026-02-16 09:31:50 +01:00
Owen Mansel-Chan
16ddb5658f
Small refactor for stylistic consistency
2026-02-15 14:39:23 +00:00
Owen Mansel-Chan
d6b71a346e
Extend RegexMatch framework to allow for MatcherMatchesCall edge case
2026-02-15 14:39:21 +00:00
Owen Mansel-Chan
8f8f4c2d52
Fix Matcher.matches edge case
2026-02-14 00:28:37 +00:00
Owen Mansel-Chan
90befa0c00
Add failing test for Matcher.matches() edge case
2026-02-14 00:28:34 +00:00
Owen Mansel-Chan
ca4c988e97
Remove redundant variable
2026-02-13 22:58:09 +00:00
Owen Mansel-Chan
2e0f244376
Improve QLDoc on RegexMatch.getName()
2026-02-13 22:55:01 +00:00
Owen Mansel-Chan
c7099584b4
Put imports implementing abstract classes in private module
2026-02-13 22:51:53 +00:00
Owen Mansel-Chan
3c161f9c93
Make contract of RegexMatch clear
2026-02-13 22:47:44 +00:00
Owen Mansel-Chan
1fefa989d7
Rename RegexMatch and only include expressions
2026-02-13 22:45:48 +00:00
Owen Mansel-Chan
953ff9f0d0
PatternAnnotation.getString() should only be field reads
2026-02-13 22:41:20 +00:00
Owen Mansel-Chan
106254b220
Improve QLDocs
2026-02-13 22:40:36 +00:00
Michael Nebel
c3a1eb181e
C#: Extract field modifiers and tag the field as being compiler generated.
2026-02-13 14:18:20 +01:00
Michael Nebel
d93f4850df
C#: Add change-note.
2026-02-13 14:18:18 +01:00
Michael Nebel
97c0267614
C#: Add data flow test for properties using the field keyword.
2026-02-13 14:18:16 +01:00
Michael Nebel
113f3e880b
C#: Add property test case where the field keyword is used.
2026-02-13 12:42:27 +01:00
Michael Nebel
edb2ed8df2
C#: Extract the implicit property backing field when referenced via the field keyword.
2026-02-13 12:42:25 +01:00
Owen Mansel-Chan
5bdf550317
Fix QLDocs
2026-02-12 16:57:14 +00:00
Owen Mansel-Chan
c539c2f4fd
Add change note
2026-02-12 16:57:12 +00:00
Owen Mansel-Chan
bfe26c1989
Add @Pattern as RegexExecution => SSRF sanitizer
2026-02-12 16:57:11 +00:00
Owen Mansel-Chan
d0999e3abd
Add failing test for @Pattern validation
2026-02-12 16:57:04 +00:00
REDMOND\brodes
d1811bc1fe
C++: Removing unnecessary post update node.
2026-02-12 11:19:24 -05:00
REDMOND\brodes
febc82dc19
Merge branch 'UncheckedLeaprYearAfterModification_Refactor_Upstream' of https://github.com/microsoft/codeql into UncheckedLeaprYearAfterModification_Refactor_Upstream
2026-02-12 11:12:01 -05:00
REDMOND\brodes
4a7395b017
C++ Suggested code clean up.
2026-02-12 11:11:43 -05:00
Ben Rodes
9bbbbefd34
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:20:59 -05:00
Ben Rodes
36e4efe77e
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:20:32 -05:00
Ben Rodes
f5a38b4701
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:17:56 -05:00
Ben Rodes
b39732ba02
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:10:11 -05:00
Ben Rodes
dfe6ed2171
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:09:25 -05:00
REDMOND\brodes
c64a6762d0
Merge branch 'UncheckedLeaprYearAfterModification_Refactor_Upstream' of https://github.com/microsoft/codeql into UncheckedLeaprYearAfterModification_Refactor_Upstream
2026-02-12 09:52:49 -05:00
REDMOND\brodes
f7231f40eb
C++: misc comment clean up per PR suggestions. Unified additional flow steps for two similar flows into a common additional step predicate.
2026-02-12 09:52:19 -05:00
Ben Rodes
a53218c2ce
Update cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 09:36:57 -05:00
Ben Rodes
d1eb9ab5d2
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 09:36:36 -05:00
REDMOND\brodes
e2ad1f6511
C++: Updating comment per PR reveiw suggestions.
2026-02-12 09:20:55 -05:00
Simon Friis Vindum
bf02e478fd
Rust: Comment out tests with parse errors
2026-02-12 14:49:09 +01:00
REDMOND\brodes
4d4e7a1b5c
Pretty print for tests.
2026-02-12 08:28:08 -05:00
Taus
7d17454a3b
Merge pull request #21138 from github/tausbn/python-prepare-for-overlay-annotations
...
Prepare dataflow for local annotations
2026-02-12 14:23:45 +01:00
Taus
3e5c2ddeaf
Merge pull request #21308 from github/smowton/admin/path-injection-use-autofix-qhelp
...
Python: use path-injection qhelp variant employed by autofix
2026-02-12 13:17:08 +01:00
Chris Smowton
5f970d9f2f
Rewordings per copilot
2026-02-12 12:01:33 +00:00
Simon Friis Vindum
218585b52a
Ruby: Add additonal tests with operators at the start of lines
2026-02-12 12:30:43 +01:00
Anders Schack-Mulligen
a945f15987
Merge pull request #21317 from aschackmull/java/deprecate-unreachableblocks
...
Java: Deprecate UnreachableBlocks.
2026-02-12 11:43:37 +01:00
Anders Schack-Mulligen
5c53677051
Java: Deprecate UnreachableBlocks.
2026-02-12 11:06:34 +01:00
Mathias Vorreiter Pedersen
2dc91a56eb
C++: Lower the treshold for max number of bounds to 2^29.
2026-02-12 09:44:20 +00:00
Mathias Vorreiter Pedersen
6dd6bddff3
C++: Add more terms to make range analysis test timeout.
2026-02-12 09:44:17 +00:00
Mathias Vorreiter Pedersen
a4dd4f91d4
C++: Also compute type bounds for accesses of an enum type.
2026-02-12 09:44:14 +00:00
Mathias Vorreiter Pedersen
90a16cfaee
Merge pull request #21314 from MathiasVP/remove-tc
...
C++: Remove redundant transitive closure
2026-02-12 09:21:56 +00:00
Simon Friis Vindum
a27d20dbcd
Rust: Add test cases for binary operator at start of line
2026-02-12 09:31:59 +01:00
Michael Nebel
76ed386246
Merge pull request #21315 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-02-12 08:29:25 +01:00
github-actions[bot]
fea07ebfcb
Add changed framework coverage reports
2026-02-12 00:32:08 +00:00
Mathias Vorreiter Pedersen
9596b7b921
C++: No need to compute this TC.
2026-02-11 20:18:03 +00:00
Mathias Vorreiter Pedersen
b14ece72be
C++: Add range analysis test demonstrating missing measuring bounds.
2026-02-11 16:58:18 +00:00
Tom Hvitved
9f5b8141f0
Rust: Fix bad join
...
Before
```
Pipeline standard for TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc@be110b6w was evaluated in 512 iterations totaling 114ms (delta sizes total: 10942).
8395 ~0% {5} r1 = JOIN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, _, Lhs.0, Lhs.3
8395 ~0% {4} | REWRITE WITH Tmp.2 := 1, Out.2 := (Tmp.2 + In.4) KEEPING 4
8448 ~0% {5} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2_0132#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.0, Lhs.1, Lhs.2
7440 ~0% {5} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.0, Lhs.3, Lhs.4
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.4
2937 ~0% {5} r2 = JOIN TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev_delta WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.0, Lhs.1, Rhs.2
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.1, Lhs.4, Lhs.3, Lhs.2
0 ~0% {6} r3 = JOIN r2 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.1, Rhs.3, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
0 ~0% {5} | SCAN OUTPUT In.2, In.3, In.1, _, In.0
0 ~0% {5} | REWRITE WITH Out.3 := 0
0 ~0% {4} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.0, Lhs.1, _
0 ~0% {4} | REWRITE WITH Out.3 := 0
12463 ~0% {2} r4 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev_delta` OUTPUT In.1, In.0
22532135 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#reorder_1_0_2#prev` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Rhs.2
12463 ~0% {4} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#reorder_0_2_1#prev ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Rhs.2, Lhs.0
12463 ~2% {6} r5 = JOIN r4 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.0, Lhs.3, Lhs.1, Lhs.2, Rhs.3, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
4285 ~0% {5} | SCAN OUTPUT In.0, In.2, In.3, _, In.1
4285 ~0% {5} | REWRITE WITH Out.3 := 0
4285 ~1% {4} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.0, Lhs.1, _
4285 ~1% {4} | REWRITE WITH Out.3 := 0
0 ~0% {4} r6 = JOIN r2 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.1, Rhs.3
0 ~0% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
12463 ~45% {4} r7 = JOIN r4 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.1, Rhs.3
8178 ~50% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.0, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
7428 ~58% {4} | SCAN OUTPUT In.1, In.0, In.2, In.3
4264 ~0% {3} r8 = SCAN `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev_delta` OUTPUT In.1, In.2, In.0
4312 ~0% {5} r9 = JOIN r8 WITH `_project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/__#join_rhs#1` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2, _, Lhs.2
4312 ~0% {5} | REWRITE WITH Out.3 := 0
4312 ~0% {5} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.2, Lhs.0, Lhs.1, _
4312 ~0% {5} | REWRITE WITH Out.4 := 0
12760 ~0% {5} r10 = JOIN r8 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.1, Rhs.2, Rhs.3
0 ~0% {7} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0, Rhs.3, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.3 - Tmp.6), TEST Out.6 = InOut.5
0 ~0% {5} | SCAN OUTPUT In.4, In.2, In.0, In.1, In.3
4312 ~0% {5} r11 = r9 UNION r10
4288 ~0% {5} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.3, Lhs.4, Lhs.0
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.4, Lhs.1, Lhs.2, Lhs.3
11713 ~36% {4} r12 = r1 UNION r3 UNION r5 UNION r6 UNION r7 UNION r11
10942 ~39% {4} | AND NOT `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev`(FIRST 4)
return r12
```
After
```
Pipeline standard for TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc@07309ry7 was evaluated in 168 iterations totaling 145ms (delta sizes total: 8395).
12517 ~0% {6} r1 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, _
4337 ~0% {5} | REWRITE WITH Tmp.5 := 0, TEST InOut.3 = Tmp.5 KEEPING 5
4285 ~1% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, _
4285 ~1% {4} | REWRITE WITH Out.3 := 0
0 ~0% {4} r2 = JOIN `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3
0 ~0% {5} r3 = SCAN r2 OUTPUT In.0, In.1, In.2, In.3, _
{4} | REWRITE WITH Tmp.4 := 0, TEST InOut.3 = Tmp.4 KEEPING 4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, _
0 ~0% {4} | REWRITE WITH Out.3 := 0
8395 ~0% {5} r4 = JOIN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, Lhs.3
8395 ~0% {4} | REWRITE WITH Tmp.3 := 1, Out.3 := (Tmp.3 + In.4) KEEPING 4
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
0 ~0% {6} r5 = JOIN r2 WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
12517 ~18% {4} r6 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev_delta` OUTPUT In.0, In.1, In.2, In.3
11759 ~12% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
9874 ~12% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
7476 ~18% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
11761 ~12% {4} r7 = r1 UNION r3 UNION r4 UNION r5 UNION r6
8395 ~0% {4} | AND NOT `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev`(FIRST 4)
return r7
```
2026-02-11 16:11:30 +01:00
Owen Mansel-Chan
6a8204d28c
"dataflow" -> "data flow" in QLDoc
2026-02-11 13:41:14 +00:00
Owen Mansel-Chan
1ee5728311
Add missing QLDoc
2026-02-11 13:40:20 +00:00
Owen Mansel-Chan
a22fd39230
Use RegexExecution in sanitizer definitions (expands scope)
2026-02-11 13:09:48 +00:00
Owen Mansel-Chan
fa3fba4a00
Use new regex-related classes (no functional change)
2026-02-11 13:09:46 +00:00
Owen Mansel-Chan
44eeee5757
Add and improve classes for regex-related methods
2026-02-11 13:09:45 +00:00
Owen Mansel-Chan
e6dbd525c3
Add RegexExecution in Concepts.qll
2026-02-11 13:09:42 +00:00
Simon Friis Vindum
522e4d64de
Merge pull request #21273 from paldepind/rust/tp-assoc
...
Rust: Implement support for associated types accessed on type parameters
2026-02-11 13:39:55 +01:00
Chris Smowton
bed1ec8981
Enhance path validation recommendations
...
Expanded recommendations for validating user input when constructing file paths, including normalization and using allowlists.
2026-02-11 12:10:08 +00:00
Simon Friis Vindum
6c67475352
Rust: Minor tweaks in type inference
2026-02-11 12:32:54 +01:00
Simon Friis Vindum
287a8717a8
Rust: Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-11 12:19:22 +01:00
Philip Ginsbach-Chen
9ed22610a3
Merge pull request #21306 from github/ginsbach/avoid-nontrivially-shadowing-toString
...
Avoid non-trivially shadowing `string.toString()`
2026-02-11 11:03:07 +00:00
Tom Hvitved
36c3084435
Merge pull request #21305 from hvitved/rust/type-inference-speedup
...
Rust: Speedup `inferMethodCallTypeSelf`
2026-02-11 11:03:06 +01:00
Tom Hvitved
37af38eed5
Merge pull request #21282 from hvitved/rust/path-resolution/type-inference-expectations
...
Rust: Distinguish path resolution expectations from type inference expectations
2026-02-11 11:00:28 +01:00
Tom Hvitved
89e9a253eb
Rust: Distinguish path resolution expectations from type inference expectations
2026-02-11 10:33:41 +01:00
Paolo Tranquilli
40b908494c
Merge branch 'main' into redsun82/bazel-9
2026-02-11 09:29:52 +01:00
Paolo Tranquilli
000d8244c4
address review
2026-02-11 09:29:42 +01:00
Simon Friis Vindum
2fa71f0c17
Rust: Add examples with associated type accessed on associated type
2026-02-11 09:10:21 +01:00
Simon Friis Vindum
2b10c8aef3
Rust: Fix gramar in qldoc
2026-02-11 09:09:34 +01:00
Michael Nebel
0ac1bc4c57
Merge pull request #21299 from microsoft/lwsimpkins/csharp-mad-httputility-upstream
...
Update MaD for System.Web.HttpUtility
2026-02-11 08:47:29 +01:00
Anders Schack-Mulligen
cfa62ae434
Merge pull request #21304 from aschackmull/java/deprecation-followup
...
Java: Add delayed deprecation annotation.
2026-02-11 08:40:01 +01:00
Owen Mansel-Chan
766dc94444
Merge pull request #21150 from github/jketema/go-1.26
...
Go: Update to 1.26
2026-02-11 04:37:31 +00:00
Owen Mansel-Chan
542d4631d7
restore ~ in action.yml version
2026-02-10 22:32:36 +00:00
Owen Mansel-Chan
f01d5840b0
Update to 1.26.0
2026-02-10 22:32:33 +00:00
Owen Mansel-Chan
936c4cc79f
Fix edge case in MaD validation
...
If the db contains no pointer types then we were getting spurious model
validation errors.
2026-02-10 22:32:31 +00:00
Owen Mansel-Chan
e1bddd9365
Model newly added functions
2026-02-10 22:32:30 +00:00
Owen Mansel-Chan
22e9c212d6
Add failing tests for newly added functions
2026-02-10 22:32:28 +00:00
Owen Mansel-Chan
26ef33212d
Test builtins like standard library
2026-02-10 22:32:27 +00:00
Jeroen Ketema
700543b30b
Go: Update supported versions to include 1.26
2026-02-10 22:31:11 +00:00
Jeroen Ketema
22e9b42808
Go: Add change note
2026-02-10 22:31:10 +00:00
Jeroen Ketema
50ed0af9da
Go: Bump maxGoVersion to 1.26
2026-02-10 22:31:08 +00:00
Jeroen Ketema
e00e3a87ff
Update Go version in tests to 1.26.0
2026-02-10 22:31:00 +00:00
Tom Hvitved
8955fd0bf4
Merge pull request #21303 from hvitved/rust/add-telemetry-tags
...
Rust: Add `telemtry` tags to queries
2026-02-10 20:13:40 +01:00
REDMOND\brodes
9f9c353806
Update expected files. Copilot suggestions broke unit test expected results (column numbers).
2026-02-10 11:47:23 -05:00
REDMOND\brodes
4bb110beb8
More copilot suggestions.
2026-02-10 11:46:16 -05:00
REDMOND\brodes
a91cf6b7cb
Applying copilot PR suggestions.
2026-02-10 11:37:11 -05:00
Ben Rodes
9f8ed710e2
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_path_validation.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-10 11:09:25 -05:00
Philip Ginsbach
f60d759a65
Avoid non-trivially shadowing string.toString()
...
Prepare libraries for a possible deprecation warning on shadowing
string.toString().
These instanceof classes were using this.(Type).method() to call
supertype methods, but super.method() is clearer and equivalent
for instanceof supertypes.
2026-02-10 15:46:10 +00:00
Paolo Tranquilli
e4871fc519
Merge branch 'main' into redsun82/bazel-9
2026-02-10 16:20:28 +01:00
Ian Lynagh
00acff293a
Merge pull request #21281 from igfoo/igfoo/discarding
...
C++ overlay: Discarding elements
2026-02-10 15:14:58 +00:00
Tom Hvitved
49f24ca8ec
Rust: Avoid using regexpCapture with multiple capture groups
2026-02-10 16:11:49 +01:00
Tom Hvitved
564a3bd444
Rust: Simplify inferMethodCallTypeSelf
2026-02-10 15:30:56 +01:00
Michael Nebel
ece85854cd
Merge pull request #21285 from michaelnebel/csharp14/implicittypedlambdaparametermodifiers
...
C# 14: [TEST ONLY] Simple lambda parameters with modifiers.
2026-02-10 14:16:19 +01:00
Michael Nebel
c15ad31b07
Merge pull request #21220 from michaelnebel/csharp14/extension
...
C# 14: Support `extension` types.
2026-02-10 14:15:57 +01:00
Anders Schack-Mulligen
5116b0c1e5
Java: Add delayed deprecation annotation.
2026-02-10 14:02:48 +01:00
Paolo Tranquilli
37261b2f5c
fix: sort use_repo alphabetically in rules_kotlin MODULE.bazel
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
b38c3268fb
fix: upgrade rules_kotlin to 2.2.2 for Windows compatibility
...
Upgrade from 2.2.0-codeql.1 to 2.2.2-codeql.1 which includes:
- Fix Windows bzlmod builder classpath issue
- Move to official bazel worker api
This eliminates the need for --legacy_external_runfiles on Windows.
Also fix codegen templates to be included in runfiles.
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
ca90de2bed
fix: disable Android SDK auto-detection for Bazel 9 compatibility
...
rules_android has repository visibility issues with Bazel 9 when the
Android SDK is present. Since we don't use Android, disable detection
by setting ANDROID_HOME to empty.
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
f8ed810a44
refactor: migrate C++ runfiles API from bazel_tools to rules_cc
...
Bazel 9 moves the C++ runfiles library from @bazel_tools to @rules_cc.
Update zipmerge_test.cpp:
- Change include from tools/cpp/runfiles to rules_cc/cc/runfiles
- Update namespace from bazel::tools::cpp::runfiles to rules_cc::cc::runfiles
Note: The BUILD.bazel dependency change is in a separate commit.
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
10a2824b82
refactor: migrate BUILD files to explicit rules_java imports
...
Add explicit load statements for java_library and java_test from
@rules_java//java:defs.bzl in:
- javascript/extractor/BUILD.bazel
- javascript/extractor/test/com/semmle/js/extractor/test/BUILD.bazel
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
f881d368f0
refactor: migrate BUILD files to explicit rules_cc imports
...
Add explicit load statements for cc_binary, cc_library, and cc_test
from @rules_cc//cc:defs.bzl in:
- shared/cpp/BUILD.bazel
- swift/logging/BUILD.bazel
- misc/bazel/internal/zipmerge/BUILD.bazel
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
d1c63603ee
refactor: migrate Starlark files to explicit rules_cc imports
...
Bazel 9 removes native.cc_* and CcInfo from global scope. Update:
- swift/rules.bzl: Add cc_binary, cc_library, CcInfo imports; use
explicit cc_binary/cc_library instead of native.cc_*
- misc/bazel/cmake/cmake.bzl: Add CcInfo import for provider usage
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
578efeaaa3
feat: add rules_cc to autoload configuration
...
Add +@rules_cc to --incompatible_autoload_externally to enable
graceful migration path for cc_* rule usages before all files
are updated with explicit imports.
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
4d6fb873ab
feat: add Python 3.12 toolchain registration
...
rules_python 1.x requires explicit toolchain setup and no longer
auto-registers toolchains. Register Python 3.12 toolchain to ensure
Python tools work correctly with Bazel 9.
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
39218f5e6b
feat: add rules_cc and rules_java module dependencies
...
Add explicit dependencies required for Bazel 9:
- rules_cc 0.2.16: provides cc_binary, cc_library, cc_test
- rules_java 9.0.3: provides java_* rules
Also update related dependencies:
- rules_go: 0.56.1 → 0.59.0 (compatibility with Bazel 9)
- gazelle: 0.40.0 → 0.47.0 (compatibility with rules_go 0.59.0)
- rules_nodejs: 6.2.0-codeql.1 → 6.7.3 (upstream version)
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
d33375cd16
chore: upgrade Bazel to 9.0.0
...
Bazel 9 removes native.cc_* and native.java_* rules from Starlark,
requiring explicit imports from rules_cc and rules_java.
2026-02-10 13:44:04 +01:00
Michael Nebel
25b836b1b5
C#: Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-10 13:12:53 +01:00
Owen Mansel-Chan
f2d3bc03aa
Merge pull request #21302 from github/mbg/go/bump-to-1.25.7
...
Go: Bump toolchain to `1.25.7`
2026-02-10 10:33:50 +00:00
Tom Hvitved
55e5bc4970
Rust: Add telemtry tags to queries
2026-02-10 11:25:42 +01:00
Michael B. Gale
518fb44a92
Go: Bump toolchain to 1.25.7
2026-02-10 10:01:38 +00:00
Tom Hvitved
5634395a32
Rust: Speedup type inference for Trait::function() calls
2026-02-10 10:50:59 +01:00
Michael B. Gale
eee4014e94
Merge pull request #21300 from github/dependabot/go_modules/go/extractor/extractor-dependencies-393b62c927
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2026-02-10 09:46:56 +00:00
Simon Friis Vindum
a033057d90
Rust: Fix a bad join
2026-02-10 09:54:01 +01:00
Simon Friis Vindum
624ee1898a
Rust: Implement support for associated types accessed on type parameters
2026-02-10 09:53:56 +01:00
Simon Friis Vindum
0cd5366034
Rust: Add type inference test for associated type acces on a type parameter of an impl block
2026-02-10 09:51:56 +01:00
Simon Friis Vindum
78c262ca63
Merge pull request #21297 from hvitved/rust/type-inference-fix-bug
...
Rust: Fix bug in `inferMethodCallTypeSelf`
2026-02-10 09:51:12 +01:00
Tom Hvitved
c3ac20267a
Merge pull request #21217 from hvitved/rust/type-inference-perf
...
Rust: Rework call disambiguation logic
2026-02-10 08:52:01 +01:00
dependabot[bot]
e172cb3f7a
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.32.0 to 0.33.0
- [Commits](https://github.com/golang/mod/compare/v0.32.0...v0.33.0 )
Updates `golang.org/x/tools` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-10 03:15:54 +00:00
Lindsay Simpkins
677949e409
Fix typo in change note
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-09 17:16:10 -05:00
Lindsay Simpkins
fe10fb37e9
add changenote
2026-02-09 16:48:08 -05:00
Lindsay Simpkins
ba3fc0a769
update csharp MaD for System.Web.HttpUtility for tainted URIs
2026-02-09 16:48:05 -05:00
Tom Hvitved
6611978368
Update rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-09 19:38:49 +01:00
Tom Hvitved
16539b4667
Address review comments
2026-02-09 19:30:58 +01:00
REDMOND\brodes
23bab81855
Added change log
2026-02-09 13:22:35 -05:00
REDMOND\brodes
df54459552
Restore prior PR change log (accidentally removed)
2026-02-09 13:19:02 -05:00
Ben Rodes
85ae4045c5
Merge branch 'main' into azure_python_sanitizer_upstream2
2026-02-09 13:12:38 -05:00
Ian Lynagh
6235edaa21
C++: Update stats
2026-02-09 18:01:02 +00:00
Ian Lynagh
9a5128f915
C++: Add up/downgrade scripts
2026-02-09 18:01:01 +00:00
Ian Lynagh
c5f6820b5d
C++ overlay: Add trap_filename, source_file_uses_trap, in_trap
2026-02-09 18:01:01 +00:00
yoff
5ad42f8bcc
Merge pull request #20563 from microsoft/azure_python_sdk_url_summary_upstream
...
Azure python sdk url summary upstream
2026-02-09 18:34:36 +01:00
Michael Nebel
bee1718469
QL4QL: Allow Impl classes to implement getAPrimaryQLClass with non Impl suffix.
2026-02-09 16:53:43 +01:00
REDMOND\brodes
98b51149da
C++: Change log missing .md extension.
2026-02-09 10:48:24 -05:00
REDMOND\brodes
8e36316ebf
C++: Addressing Copilot PR suggestions.
2026-02-09 10:42:34 -05:00
Michael Nebel
3e914f7ff1
C#: Add DB downgrade script.
2026-02-09 16:24:19 +01:00
Michael Nebel
42d2de848d
C#: Add DB upgrade script.
2026-02-09 16:24:00 +01:00
Ian Lynagh
b5e3168032
Merge pull request #21286 from github/andersfugmann/kotlin_2.3.10-no-artifacts
...
Kotlin: Support Kotlin 2.3.10
2026-02-09 13:26:40 +00:00
Tom Hvitved
109d802607
Rust: Fix bug in inferMethodCallTypeSelf
2026-02-09 14:15:05 +01:00
Michael B. Gale
71e8730c63
Merge pull request #21263 from github/mbg/csharp/registry-diagnostic
...
C#: Add diagnostic for private registry usage
2026-02-09 12:58:43 +00:00
Michael Nebel
eff9f99f44
C#: Update test expected output.
2026-02-09 13:30:14 +01:00
Michael Nebel
d9fea156f6
C#: Update MaD models for extension members.
2026-02-09 13:28:11 +01:00
Michael Nebel
bcdbd6e283
C#: Use the fully qualified name for the extension type when printing extension types.
2026-02-09 13:27:32 +01:00
Michael Nebel
fe94b3b68b
C#: Address review comments.
2026-02-09 11:46:53 +01:00
Owen Mansel-Chan
90401b3ad3
Merge pull request #21254 from owen-mc/go/astnode-get-enclosing-block
...
Go: Add `AstNode.getEnclosingBlock()`
2026-02-06 22:23:15 +00:00
REDMOND\brodes
1796bc0abb
C++: Add change note.
2026-02-06 16:19:11 -05:00
REDMOND\brodes
36cc20989c
C++: Accept test changes (removing false negative)
2026-02-06 16:11:51 -05:00
REDMOND\brodes
2b806ad6fd
C++: Add missing DateTime models for PTIME_FIELDS and TIME_FIELDS
2026-02-06 16:10:04 -05:00
REDMOND\brodes
a534d26449
C++: Accept test changes.
2026-02-06 16:07:44 -05:00
REDMOND\brodes
ca18179bd2
C++: Correct false positive. Only TimeConversionFunction that do not auto correct for leap year should be considered.
2026-02-06 16:07:07 -05:00
REDMOND\brodes
d9feadcfec
C++. Accept test changes. One false positive introduced, and one false negative remains.
2026-02-06 16:05:38 -05:00
REDMOND\brodes
95d4a541bc
C++: Refactor leap year logic for UncheckedLeapYearAfterYearModification. Includes new logic for detecting leap year checks, new forms of leap year checks detected, and various heuristics to remove false postives. Move TimeConversionFunction into LeapYear.qll and refactored to separate conversion functions that are expected to be checked for failure from those that auto correct leap year dates if feb 29 is provided on a non-leap year. Increas the set of known TimeConversionFunctions.
2026-02-06 16:03:37 -05:00
REDMOND\brodes
6c171c804f
C++: Add more tests for modified years with and without leap year checks (UncheckedLeapYearAfterYearModification). Switch to using 'postprocess' for unit tests.
2026-02-06 16:03:25 -05:00
Jon Janego
d0bd8459a1
Merge pull request #21291 from github/codeql-spark-run-21760759512
...
Update changelog documentation site
2026-02-06 12:28:56 -06:00
Jon Janego
1c43ceae95
Merge branch 'main' into codeql-spark-run-21760759512
2026-02-06 12:16:31 -06:00
Geoffrey White
a5aeadd31d
Rust: Fix for neutral summaries.
2026-02-06 18:15:13 +00:00
Jon Janego
5bf2d9442e
Fix formatting in changelog for Go path injection query
2026-02-06 12:14:03 -06:00
Jon Janego
c40d784a4d
Update codeql-cli-2.23.1.rst
2026-02-06 12:13:34 -06:00
Jon Janego
bf6568b928
Fix formatting for Kotlin version support note
2026-02-06 12:12:55 -06:00
Jon Janego
79ad064a93
Fix formatting in Kotlin version support note
2026-02-06 12:12:16 -06:00
Jon Janego
552976d057
Update codeql-cli-2.19.1.rst
2026-02-06 12:11:49 -06:00
github-actions[bot]
353cd31ce6
update codeql documentation
2026-02-06 18:09:49 +00:00
Geoffrey White
08174d7ec9
Rust: Add test cases for summaries as well.
2026-02-06 18:05:54 +00:00
REDMOND\brodes
f6c302b68c
Removing commented out test cases.
2026-02-06 11:28:48 -05:00
REDMOND\brodes
4f11913ee5
removing SSRFSink.qll
2026-02-06 11:23:58 -05:00
REDMOND\brodes
42f6e6a19c
Fixing inefficiently passed variable in nested existential quantification.
2026-02-06 11:20:15 -05:00
REDMOND\brodes
97f19d03ad
Updating test case expected alerts.
2026-02-06 11:20:13 -05:00
REDMOND\brodes
97ddab0724
Added support for new URIValidator in AntiSSRF library. Updated test caes to use postprocessing results. Currently results for partial ssrf still need work, it is flagging cases where the URL is fully controlled, but is sanitized. I'm not sure if this should be flagged yet.
2026-02-06 11:20:11 -05:00
REDMOND\brodes
27e19813be
Removing an upstream change log, not needed for local fork update.
2026-02-06 11:20:10 -05:00
REDMOND\brodes
88adb05d4b
Adjusting acryonym for SSRF for casing standards.
2026-02-06 11:20:08 -05:00
REDMOND\brodes
265922d2e5
Adding docs.
2026-02-06 11:20:01 -05:00
REDMOND\brodes
7db97799c1
Moved change log to correct location.
2026-02-06 11:19:22 -05:00
Ben Rodes
08b72d0a86
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 11:18:51 -05:00
Ben Rodes
46a2a249f9
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 11:18:49 -05:00
REDMOND\brodes
b8ba905253
Added change logs.
2026-02-06 11:18:23 -05:00
REDMOND\brodes
9912aaaf1a
Adding azure sdk test cases and updated test expected file.
2026-02-06 11:18:16 -05:00
Paolo Tranquilli
48db24d184
Merge pull request #21287 from github/redsun82/fix-rust-deps-patching
...
Bazel: fix Rust deps patching for semver build metadata
2026-02-06 17:17:24 +01:00
REDMOND\brodes
8459eec239
Moving the SsrfSink concept into Concepts.qll, and renaming to HttpClientRequestFromModel as suggested in PR review.
2026-02-06 09:26:49 -05:00
Anders Fugmann
c5179e40c6
Kotlin: Add change note for supporting 2.3.10
2026-02-06 14:59:34 +01:00
github-actions[bot]
38830ddc5c
Bazel: fix Rust deps patching for semver build metadata
...
Handle crate versions containing `+` build metadata (e.g., `0.9.11+spec-1.1.0`).
Bazel repo names use `-` instead of `+`, so the generated labels need patching
to reference the correct repo name.
Also adds documentation for both patching issues handled by patch_defs.py.
2026-02-06 14:58:34 +01:00
Anders Fugmann
d5827b5cca
Kotlin: Support Kotlin 2.3.10
2026-02-06 14:54:08 +01:00
Michael Nebel
6c355a1bf8
C#: Update test expected output.
2026-02-06 14:38:27 +01:00
Michael Nebel
e550d4937c
C#: Update parameter modifiers test to include lambda expression from the new test file.
2026-02-06 14:37:50 +01:00
Michael Nebel
62a6b5985d
C#: Add test cases for lambda parameter modifiers.
2026-02-06 14:37:11 +01:00
Mathias Vorreiter Pedersen
2c05624088
Merge pull request #21280 from MathiasVP/make-getChildCount-more-robust
...
C++: Make 'getChildCount' more robust by counting indices instead of elements
2026-02-06 12:19:20 +00:00
Ben Rodes
ac1987f264
Update python/ql/lib/change-notes/2025-09-30-azure_ssrf_models.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-05 15:44:44 -05:00
Mathias Vorreiter Pedersen
d57a42a7f7
C++: Make 'getChildCount' more robust by counting indexes instead of 'TranslatedDeclarationEntry's.
2026-02-05 20:23:45 +00:00
Tom Hvitved
32aaac27ec
Rust: Add type inference regression test
2026-02-05 17:29:42 +01:00
Tom Hvitved
2dc7576232
Rust: Rework call disambiguation logic
2026-02-05 17:29:40 +01:00
Geoffrey White
05a487ec3b
Rust: Repair following merge.
2026-02-05 15:56:58 +00:00
Geoffrey White
c0a5c63e8e
Merge branch 'main' into neutralmodels
2026-02-05 15:53:28 +00:00
Taus
5adc9f8ff0
Merge pull request #21274 from github/tausbn/python-fix-parsing-of-format-specifiers
...
Python: Fix syntax error when `=` is used as a format fill character
2026-02-05 16:37:42 +01:00
Michael Nebel
02e4a8b6f7
C#: Add change-note.
2026-02-05 15:52:43 +01:00
Michael Nebel
bd3e4d3d7e
C#: Add MaD tests for extensions.
2026-02-05 15:38:29 +01:00
Michael Nebel
4b6a53b577
C#: Add extension data flow test.
2026-02-05 15:38:27 +01:00
Michael Nebel
6cbe000d51
C#: Add PrintAst test for extensions.
2026-02-05 15:38:25 +01:00
Michael Nebel
c040daab9c
C#: Add extensions test.
2026-02-05 15:38:20 +01:00
Michael Nebel
849823eff6
C#: Add dispatch logic for calling extensions accessors as methods.
2026-02-05 15:38:16 +01:00
Michael Nebel
e831c80a23
C#: Replace extension parameter access with the corresponding synthetic parameter.
2026-02-05 15:38:14 +01:00
Michael Nebel
5e02a86542
C#: Add extension call classes.
2026-02-05 15:38:12 +01:00
Michael Nebel
b9f36f37b6
C#: Add extension callable and accessor classes.
2026-02-05 15:38:09 +01:00
Michael Nebel
9a4a6cfcb8
C#: Add ExtensionType to the QL library.
2026-02-05 15:38:07 +01:00
Michael Nebel
edfdc9812f
C#: Extract extension types and members. Replacing invocations to static generated methods with invocation of extension type member.
2026-02-05 15:38:05 +01:00
Michael Nebel
ab505e3281
C#: Add class for making synthetic parameter entities.
2026-02-05 15:38:02 +01:00
Taus
8c27437628
Python: Bump extractor version and add change note
2026-02-05 13:50:54 +00:00
Taus
12ee93042b
Python: Add tests
2026-02-05 13:47:24 +00:00
Taus
bac356c9a1
Python: Regenerate parser files
2026-02-05 13:46:59 +00:00
Taus
68c1a3d389
Python: Fix syntax error when = is used as a format fill character
...
An example (provided by @redsun82) is the string `f"{x:=^20}"`. Parsing
this (with unnamed nodes shown) illustrates the problem:
```
module [0, 0] - [2, 0]
expression_statement [0, 0] - [0, 11]
string [0, 0] - [0, 11]
string_start [0, 0] - [0, 2]
interpolation [0, 2] - [0, 10]
"{" [0, 2] - [0, 3]
expression: named_expression [0, 3] - [0, 9]
name: identifier [0, 3] - [0, 4]
":=" [0, 4] - [0, 6]
ERROR [0, 6] - [0, 7]
"^" [0, 6] - [0, 7]
value: integer [0, 7] - [0, 9]
"}" [0, 9] - [0, 10]
string_end [0, 10] - [0, 11]
```
Observe that we've managed to combine the format specifier token `:` and
the fill character `=` in a single token (which doesn't match the `:` we
expect in the grammar rule), and hence we get a syntax error.
If we change the `=` to some other character (e.g. a `-`), we instead
get
```
module [0, 0] - [2, 0]
expression_statement [0, 0] - [0, 11]
string [0, 0] - [0, 11]
string_start [0, 0] - [0, 2]
interpolation [0, 2] - [0, 10]
"{" [0, 2] - [0, 3]
expression: identifier [0, 3] - [0, 4]
format_specifier: format_specifier [0, 4] - [0, 9]
":" [0, 4] - [0, 5]
"}" [0, 9] - [0, 10]
string_end [0, 10] - [0, 11]
```
and in particular no syntax error.
To fix this, we want to ensure that the `:` is lexed on its own, and the
`token(prec(1, ...))` construction can be used to do exactly this.
Finally, you may wonder why `=` is special here. I think what's going on
is that the lexer knows that `:=` is a token on its own (because it's
used in the walrus operator), and so it greedily consumes the following
`=` with this in mind.
2026-02-05 13:45:54 +00:00
Tom Hvitved
2764d697d2
Rust: Merge Input1 and Input2 modules
2026-02-05 14:29:46 +01:00
Tom Hvitved
c62d95ac9d
Rust: More type inference tests
2026-02-05 14:29:41 +01:00
Paolo Tranquilli
05bef12ddd
Merge pull request #21265 from github/redsun82/csharp-csrf-inheritance
...
C#: Fix CSRF query to check antiforgery attributes on base classes
2026-02-05 14:20:30 +01:00
Idriss Riouak
1df3adf021
Merge pull request #21244 from github/idrissrio/cpp/overlay/changes-json
...
C/C++ overlay: use files table instead of `overlayChangedFiles` for overlay discard
2026-02-05 13:15:07 +01:00
Tom Hvitved
025f73301b
Rust: Move some overloading tests into a separate file
2026-02-05 12:49:53 +01:00
idrissrio
e26c199426
C/C++ overlay: use files table instead of overlayChangedFiles for overlay discard
2026-02-05 12:43:01 +01:00
Tom Hvitved
1203da1b66
Merge pull request #21253 from paldepind/rust/as-path-trait
...
Rust: Resolve `as` paths to trait
2026-02-05 12:38:16 +01:00
Paolo Tranquilli
f79bd3f4cf
C#: accept location changes in test
2026-02-05 12:14:59 +01:00
Mathias Vorreiter Pedersen
476df7de73
Merge pull request #21260 from MathiasVP/add-windows-remote-flow-sources
...
C++: Add more Win32 and Azure SDK remote flow sources
2026-02-05 10:47:03 +00:00
Anders Schack-Mulligen
29e01748b7
Merge pull request #21267 from aschackmull/java/rename-misc
...
Java: Rename several AST predicates.
2026-02-05 11:15:29 +01:00
Anders Schack-Mulligen
11003e685d
Java: Fix qldoc
2026-02-05 10:37:19 +01:00
Geoffrey White
9de5f5c72b
Rust: Clean up and change note.
2026-02-05 08:58:08 +00:00
Anders Schack-Mulligen
e4daeec2ca
Merge pull request #21268 from aschackmull/java/view-cfg
...
Java: Add support for "View CFG" in VSCode.
2026-02-05 09:48:14 +01:00
Anders Schack-Mulligen
81977f11a1
Cfg: qldoc + overlay fixups.
2026-02-05 08:59:28 +01:00
Anders Schack-Mulligen
32fe12a6dd
Java: Delay deprecation a bit.
2026-02-05 08:51:27 +01:00
Geoffrey White
d40071321a
Rust: Implement neutral models for Rust.
2026-02-04 18:58:09 +00:00
Geoffrey White
97f7dcb04a
Rust: Add dataflow test cases for neutral models.
2026-02-04 17:43:05 +00:00
Anders Schack-Mulligen
83adf793e4
Cfg: Fix compilation.
2026-02-04 15:28:37 +01:00
REDMOND\brodes
0a88425170
Python: Altering SSRF MaD to use 'request-forgery' tag. Update to test cases expected results, off by one line. Changed to using ModelOutput::sinkNode.
2026-02-04 09:04:22 -05:00
Ben Rodes
cd73dcfb04
Merge branch 'main' into azure_python_sdk_url_summary_upstream
2026-02-04 08:55:38 -05:00
Simon Friis Vindum
52dc58172d
Merge branch 'main' into rust/as-path-trait
2026-02-04 14:47:57 +01:00
Owen Mansel-Chan
544931f73f
Merge pull request #21266 from owen-mc/python/pretty-print-models-in-test
...
Python: Pretty print models in test
2026-02-04 13:46:51 +00:00
Anders Schack-Mulligen
2d02908e7f
Java: Add change note.
2026-02-04 14:43:32 +01:00
Anders Schack-Mulligen
4fcf3fbff8
Java: Make loop classes extend LoopStmt and use getBody instead of getStmt.
2026-02-04 14:43:31 +01:00
Anders Schack-Mulligen
6f40ac15b4
Java: Rename ReturnStmt.getResult to getExpr.
2026-02-04 14:43:31 +01:00
Simon Friis Vindum
55ea55a44f
Merge pull request #21247 from paldepind/rust/self-types
...
Rust: Resolve `Self` paths in type definitions
2026-02-04 13:41:53 +01:00
Anders Schack-Mulligen
36fa0a22f9
Java: Rename getTrueExpr/getFalseExpr on ConditionalExpr to getThen/getElse.
2026-02-04 13:38:11 +01:00
Michael Nebel
60bb9a9b06
C#: Move some populate methods and location writing methods.
2026-02-04 13:24:21 +01:00
Michael Nebel
c68cd58f70
C#: Add parameter marker interface, allow a type to a parent for parameter and make it possible to specify a parameter position offset.
2026-02-04 13:19:29 +01:00
Michael Nebel
dca10f8740
C#: Add extended_type to the DB scheme.
2026-02-04 12:51:30 +01:00
Owen Mansel-Chan
3f08ff88a4
Pretty print models in test
...
Otherwise the tests breaks when unrelated changes are made because the
model numbers change
2026-02-04 10:52:44 +00:00
Anders Schack-Mulligen
5e6e64b2b7
Java: Rename UnaryExpr.getExpr to getOperand.
2026-02-04 10:50:49 +01:00
Paolo Tranquilli
4973523404
C#: Fix CSRF query to check antiforgery attributes on base classes
...
Fixes https://github.com/github/codeql/discussions/21255
2026-02-04 09:42:20 +01:00
Taus
62fb38d834
Python: Rename otherArgs to implicitArgumentNode
...
Co-authored-by: yoff <yoff@github.com >
2026-02-03 15:32:46 +00:00
Michael B. Gale
571f21ba49
C#: Emit diagnostic if private registries are configured
2026-02-03 15:28:47 +00:00
Anders Schack-Mulligen
2d61fc5309
Java: Add support for "View CFG".
2026-02-03 15:49:27 +01:00
Michael B. Gale
8e39ed079e
Merge pull request #21252 from github/mbg/go/private-registry-diagnostic
...
Go: Add diagnostic for private registry usage
2026-02-03 14:36:19 +00:00
Anders Schack-Mulligen
389cd5d648
Cfg: Extract CFG pretty-printing code.
2026-02-03 15:33:55 +01:00
Mathias Vorreiter Pedersen
092d25451f
C++: Fix Copilot comments.
2026-02-03 11:45:30 +00:00
Mathias Vorreiter Pedersen
32b86eca50
C++: Add change note.
2026-02-03 11:40:31 +00:00
Mathias Vorreiter Pedersen
40a58135c2
C++: Accept test changes.
2026-02-03 11:30:55 +00:00
Mathias Vorreiter Pedersen
7ef96e3f3c
C++: Add taint-inheriting reads from the Winhttp structs.
2026-02-03 11:30:31 +00:00
Mathias Vorreiter Pedersen
5531ef9bc1
C++: Accept test changes.
2026-02-03 11:17:23 +00:00
Mathias Vorreiter Pedersen
cbc2dbc14d
C++: Add flow sources and summary models.
2026-02-03 11:14:16 +00:00
Mathias Vorreiter Pedersen
208cf716dc
C++: Add tests with tests for remote flow sources from the Win32 API and from the Azure SDK.
2026-02-03 11:13:45 +00:00
Simon Friis Vindum
d72d8b63ed
Rust: Fix inconsistency by skipping Self in use globs
2026-02-03 11:54:28 +01:00
Simon Friis Vindum
1791c1f1f9
Rust: Add test with path resolution inconsistency
2026-02-03 11:51:55 +01:00
Michael B. Gale
d5c4a19efa
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-03 10:34:14 +00:00
Tom Hvitved
6fbf727309
Merge pull request #21251 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2026-02-02 19:12:30 +01:00
Owen Mansel-Chan
e00390d23a
Merge pull request #21224 from owen-mc/go/use-shared-basic-block-lib
...
Go: Use shared basic block lib
2026-02-02 16:31:06 +00:00
Michael B. Gale
d079671ec8
Align testItems with what getEnvVars does
2026-02-02 16:17:22 +00:00
Michael B. Gale
cbbc057dd3
Fix singular/plural wording and add test
2026-02-02 16:15:36 +00:00
Simon Friis Vindum
9fc2a54712
Rust: Accept changes to expected files for consistency checks
2026-02-02 17:12:25 +01:00
Simon Friis Vindum
d0e30d19c4
Rust: Resolve as paths to trait
2026-02-02 16:47:43 +01:00
Simon Friis Vindum
8de37fec17
Rust: Add tests with as paths
2026-02-02 16:43:21 +01:00
Henry Mercer
e712e62f14
Merge pull request #21250 from github/post-release-prep/codeql-cli-2.24.1
...
Post-release preparation for codeql-cli-2.24.1
2026-02-02 07:31:39 -08:00
Michael B. Gale
30b30d65c8
Emit the new diagnostic
2026-02-02 14:47:25 +00:00
Michael B. Gale
6d67e419ff
Move private registry sources out of util package
2026-02-02 14:45:06 +00:00
Michael B. Gale
29930fa6bf
Track active proxy configurations
2026-02-02 14:40:08 +00:00
Michael B. Gale
a57c6cde30
Add EmitPrivateRegistryUsed
2026-02-02 14:39:27 +00:00
Tom Hvitved
b16f1d3778
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate _PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplOrTraitItemNode.ge__#shared@0d3de6d9 with tuple counts:
395360270 ~2% {5} r1 = JOIN Type::TAssociatedTypeTypeParameter#6da9e52a WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Lhs.1, Lhs.2, Rhs.1
1274237644 ~0% {6} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1, Rhs.2
1274237644 ~0% {6} | JOIN WITH PathResolution::TraitItemNode#8d4ce62d ON FIRST 1 OUTPUT Lhs.0, Lhs.4, Lhs.1, Lhs.2, Lhs.3, Lhs.5
6984871 ~0% {5} | JOIN WITH `PathResolution::ImplOrTraitItemNode.getAssocItem/1#f77bb9ed` ON FIRST 3 OUTPUT Lhs.2, Lhs.0, Lhs.3, Lhs.4, Lhs.5
6984871 ~0% {4} | JOIN WITH TypeAlias::Generated::TypeAlias#1ca97780 ON FIRST 1 OUTPUT Lhs.4, Lhs.1, Lhs.2, Lhs.3
6076675 ~0% {4} | JOIN WITH `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
return r1
```
After
```
Evaluated relational algebra for predicate _PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplOrTraitItemNode.ge__#shared@760e0499 with tuple counts:
443292 ~2% {3} r1 = SCAN `PathResolution::ImplOrTraitItemNode.getAssocItem/1#f77bb9ed` OUTPUT In.0, In.2, In.1
1258 ~1% {3} | JOIN WITH Type::TAssociatedTypeTypeParameter#6da9e52a ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Rhs.2
13656944 ~3% {4} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Rhs.2
6984871 ~0% {4} | JOIN WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Rhs.1
6076675 ~0% {4} | JOIN WITH `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
return r1
```
2026-02-02 15:26:32 +01:00
github-actions[bot]
73d06f26cb
Post-release preparation for codeql-cli-2.24.1
2026-02-02 14:04:26 +00:00
Ben Rodes
7ddfa80399
Merge branch 'main' into azure_python_sdk_url_summary_upstream
2026-02-02 09:00:35 -05:00
Henry Mercer
fedb9464af
Merge pull request #21248 from github/henrymercer/fix-mysql-typo
...
Fix capitalization of MySQL
2026-02-02 05:33:39 -08:00
Simon Friis Vindum
99b498b891
Rust: Resolve Self paths in type definitions
2026-02-02 13:51:59 +01:00
Simon Friis Vindum
95afe615b5
Rust: Add path resolution tests
2026-02-02 13:51:57 +01:00
Simon Friis Vindum
8b03608a4f
Merge pull request #21188 from paldepind/rust/self-path-assoc
...
Rust: Implement type inference for associated types for concrete types
2026-02-02 13:50:43 +01:00
Henry Mercer
1a6b2b9b82
Fix capitalization of MySQL
2026-02-02 12:37:32 +00:00
Henry Mercer
57c2208f7a
Merge pull request #21246 from github/henrymercer/kotlin/version-range-formatting
...
Fix formatting of Kotlin version ranges
2026-02-02 04:30:52 -08:00
Henry Mercer
5f1fd57f84
Fix formatting of Kotlin version ranges
2026-02-02 12:22:50 +00:00
Henry Mercer
6b78313701
Merge pull request #21245 from github/release-prep/2.24.1
...
Release preparation for version 2.24.1
2026-02-02 04:12:14 -08:00
Henry Mercer
38fcc61817
Fix formatting in Kotlin changelog
2026-02-02 12:10:15 +00:00
github-actions[bot]
0db542e9f0
Release preparation for version 2.24.1
2026-02-02 12:09:09 +00:00
Tom Hvitved
4a04f7b66f
Merge pull request #21243 from hvitved/csharp/insecure-object-tests
...
C#: Add more tests for `InsecureDirectObjectReference.ql`
2026-02-02 13:03:23 +01:00
Simon Friis Vindum
0567864a83
Rust: Make module private
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-02 12:57:26 +01:00
Simon Friis Vindum
18576838d4
Rust: Minor tweaks and improvements
2026-02-02 12:07:18 +01:00
Tom Hvitved
fe0634574d
C#: Add more tests for InsecureDirectObjectReference.ql
2026-02-02 11:09:26 +01:00
Michael B. Gale
9a00c75460
Merge pull request #21236 from github/mbg/csharp/fix-registry-feeds
...
C#: Make sure `allFeeds` contains at least `explicitFeeds`
2026-02-02 07:49:33 +00:00
Owen Mansel-Chan
8aa1bff9a5
Add AstNode.getEnclosingBlock()
2026-02-01 23:06:26 +00:00
Owen Mansel-Chan
5204255615
Merge pull request #21234 from owen-mc/python/convert-sanitizers-to-mad
...
Python: Allow models-as-data sanitizers
2026-01-30 14:28:39 +00:00
Owen Mansel-Chan
0222159df5
Specify vulnerable args instead of safe ones
2026-01-30 14:10:03 +00:00
Michael B. Gale
454d13b485
Remove element check
2026-01-30 14:03:43 +00:00
Mathias Vorreiter Pedersen
16670511de
Merge pull request #21239 from MathiasVP/logical-binary-fix-guards-cpp
...
C++: Ensure that there are AST `GuardCondition`s for `||` and `&&`
2026-01-30 13:50:55 +00:00
Michael B. Gale
ad2aa6d4f8
Accept expected diagnostic output
2026-01-30 13:38:50 +00:00
Michael B. Gale
3e0719609f
Fix missing negation
2026-01-30 13:30:47 +00:00
Michael B. Gale
1aba0b20cd
Add integration test
2026-01-30 13:19:47 +00:00
Michael B. Gale
1b5ed129ac
Log and emit diagnostic if incorrectly named files are found
2026-01-30 13:19:46 +00:00
Taus
958c798c3f
Python: Accept dataflow test changes
...
New nodes means new results. Luckily we rarely have a test that selects
_all_ dataflow nodes.
2026-01-30 12:50:25 +00:00
Taus
fb6175d10b
Python: Fix consistency test failures
...
As we now have many more capturing closure arguments, we must once again
exclude the ones that don't actually have `argumentOf` defined.
2026-01-30 12:50:25 +00:00
Taus
3f718123a6
Python: Make capturing closure arguments synthetic and non-global
...
Uses the same trick as for `ExtractedArgumentNode`, wherein we postpone
the global restriction on the charpred to instead be in the `argumentOf`
predicate (which is global anyway).
In addition to this, we also converted `CapturedVariablesArgumentNode`
into a proper synthetic node, and added an explicit post-update node for
it. These nodes just act as wrappers for the function part of call
nodes. Thus, to make them work with the variable capture machinery, we
simply map them to the closure node for the corresponding control-flow
or post-update node.
2026-01-30 12:50:25 +00:00
Taus
6113d4be9e
Python: Fix test issues
...
Fixes the test failures that arose from making `ExtractedArgumentNode`
local.
For the consistency checks, we now explicitly exclude the
`ExtractedArgumentNode`s (now much more plentiful due to the
overapproximation) that don't have a corresponding `getCallArg` tuple.
For various queries/tests using `instanceof ArgumentNode`, we instead us
`isArgumentNode`, which explicitly filters out the ones for which
`isArgumentOf` doesn't hold (which, again, is the case for most of the
nodes in the overapproximation).
2026-01-30 12:50:25 +00:00
Taus
7fccc23dbe
Python: Make ExtractedArgumentNode local
...
Explicitly adds a bunch of nodes that were previously (using a global
analysis) identified as `ExtractedArgumentNode`s. These are then
subsequently filtered out in `argumentOf` (which is global) by putting
the call to `getCallArg` there instead of in the charpred.
2026-01-30 12:50:25 +00:00
Taus
ac5a74448f
Python: Fix tests
...
With `ModuleVariableNode`s now appearing for _all_ global variables (not
just the ones that actually seem to be used), some of the tests changed
a bit. Mostly this was in the form of new flow (because of new nodes
that popped into existence). For some inline expectation tests, I opted
to instead exclude these results, as there was no suitable location to
annotate. For the normal tests, I just accepted the output (after having
vetted it carefully, of course).
2026-01-30 12:50:25 +00:00
Taus
30ce4069c7
Python: Remove global restriction on ModuleVariableNode
...
This may result in more nodes, but it should still be bounded by the
number of global variables in the source code.
2026-01-30 12:50:24 +00:00
Taus
4543c66d26
Python: Prepare LocalSourceNode for locality
...
Removes the dependence on the (global) `ModuleVariableNode.getARead()`,
by adding a local version (that doesn't include `import *` reads)
instead.
2026-01-30 12:50:24 +00:00
Mathias Vorreiter Pedersen
5f079c1d51
C++: Add change note.
2026-01-30 12:19:28 +00:00
Michael B. Gale
5ba3b679dd
Move into if statement
2026-01-30 12:18:56 +00:00
yoff
8c0baefd3b
Merge pull request #21141 from mbaluda/prompt-injection
...
Python: Prompt injection in OpenAI clients
2026-01-30 12:55:56 +01:00
Anders Peter Fugmann
78495035a6
Merge pull request #20965 from github/andersfugmann/kotlin_2.3.0-beta2
...
Kotlin: Support Kotlin 2.3.0
2026-01-30 11:37:19 +01:00
Owen Mansel-Chan
a3885cd8b2
Replace sanitizer by exclusion from sink definition
2026-01-30 09:28:02 +00:00
Owen Mansel-Chan
b4cb2c3f13
Make qldoc slightly more specific
2026-01-30 09:28:01 +00:00
Owen Mansel-Chan
ef6332c581
Allow MaD sanitizers for queries with MaD sinks
2026-01-30 09:27:59 +00:00
Owen Mansel-Chan
ad6f800022
Pretty print model numbers in tests
2026-01-30 09:21:24 +00:00
Owen Mansel-Chan
e5f52f086c
Merge pull request #21235 from owen-mc/shared/docs/provenance-path-graph
...
Shared: Add missing QLDocs
2026-01-30 09:02:48 +00:00
Jon Janego
18a2aca42f
Merge pull request #21237 from github/urllib-typo-fix
...
Urllib typo fix
2026-01-29 17:32:12 -06:00
yoff
e7a0fc7140
python: Add query for prompt injection
...
This pull request introduces a new CodeQL query for detecting prompt injection vulnerabilities in Python code targeting AI prompting APIs such as agents and openai. The changes includes a new experimental query, new taint flow and type models, a customizable dataflow configuration, documentation, and comprehensive test coverage.
2026-01-29 23:47:52 +01:00
Jon Janego
f14ccd8c81
Fix typo in taint flow model for urllib.parse
2026-01-29 16:21:14 -06:00
Jon Janego
e54d7c7c73
Update CHANGELOG.md
2026-01-29 16:20:25 -06:00
Jon Janego
813d4639ca
Fix typo in taint flow model for urllib.parse
2026-01-29 16:18:21 -06:00
Michael B. Gale
76fe3fa502
C#: Make sure allFeeds contains at least explicitFeeds
2026-01-29 21:43:44 +00:00
Owen Mansel-Chan
8b936c5dbe
Add missing QLDocs
2026-01-29 16:45:23 +00:00
Taus
34800d1519
Merge pull request #20945 from joefarebrother/python-websockets
...
Python: Model remote flow sources for the `websockets` library
2026-01-29 15:47:46 +01:00
Jon Janego
1644376cc9
Merge pull request #21222 from github/codeql-spark-run-21376405640
...
Update changelog documentation site
2026-01-29 08:44:11 -06:00
Mathias Vorreiter Pedersen
1b1c9c680c
Merge pull request #21227 from MathiasVP/postfix-fix
...
C++: Get rid of an ugly workaround in dataflow
2026-01-29 12:25:02 +00:00
Mathias Vorreiter Pedersen
61a53fadc0
C++: Fix spelling.
2026-01-29 11:50:44 +00:00
Owen Mansel-Chan
2f29c905c3
Fix typo in change note
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-28 22:39:08 +00:00
Owen Mansel-Chan
e1cf0a15ed
Add change note
2026-01-28 22:12:31 +00:00
Owen Mansel-Chan
52c510bfea
Use shared getScope instead of getRoot
2026-01-28 22:12:30 +00:00
Owen Mansel-Chan
b2f878229d
Use shared getASuccessor and getAPredecessor
2026-01-28 22:12:23 +00:00
Owen Mansel-Chan
3dd6b3fb69
Use shared basic blocks library
2026-01-28 22:11:59 +00:00
Owen Mansel-Chan
c316d51d41
Add ConditionGuardNode.getOutcome
2026-01-28 21:46:26 +00:00
Mathias Vorreiter Pedersen
25647badbd
C++: Fix the AST wrapper for binary logical operators.
2026-01-28 14:06:10 +00:00
Mathias Vorreiter Pedersen
6445fd805d
C++: Fix IR -> AST mapping for basic blocks.
2026-01-28 14:01:34 +00:00
Owen Mansel-Chan
a35e7b27af
Merge pull request #21226 from owen-mc/java/update-qhelp-unrelease-lock
...
Java: Improve qhelp for `java/unreleased-lock` and add lock type exclusion
2026-01-28 09:46:31 +00:00
Anders Fugmann
ab495fa843
Kotlin: Inline cast
2026-01-28 10:11:22 +01:00
Anders Fugmann
2320d502db
Kotlin: Address detections from kotin internal queries
2026-01-28 10:11:21 +01:00
Anders Fugmann
31867a56fb
Kotlin: Accept test changes
...
Accept test changes from Kotlin 2.3.0 update
Updates expected test outputs for kotlin2 library tests to match
actual compiler output. Changes include:
- Location adjustments for properties/methods (now point to identifiers)
- CastExpr -> ImplicitCastExpr for implicit type casts
- Removed duplicate BlockStmt entries in loop ASTs
- Super constructor call location changes
Note that in Kotlin 2.3.0 super constructor calls now have locations spanning
entire class declarations instead of the actual super call site.
2026-01-28 10:11:21 +01:00
Anders Fugmann
86d9c349ec
Kotlin: Accept test changes
2026-01-28 10:11:21 +01:00
Anders Fugmann
59fa01e386
Kotlin: Add bitwise 'and' operation expected by Kotlin 2.3 compiler to exist in the stdlib
2026-01-28 10:11:20 +01:00
Anders Fugmann
a6f8af0de5
Kotlin: Accept column location changes in tests
2026-01-28 10:11:20 +01:00
Anders Fugmann
f6f5b7e1e9
Kotlin: Accept test changes after rebasing to include changes from https://github.com/github/codeql/pull/21216
2026-01-28 10:11:19 +01:00
Anders Fugmann
275724000b
Kotlin: Update kotlin serialization integration test to use Kotlin compiler 1.8.10 and accept test changes
2026-01-28 09:30:22 +01:00
Anders Fugmann
939f3e83aa
Kotlin: Update kotlin compiler version in integration tests
2026-01-28 09:30:22 +01:00
Anders Fugmann
d69fe20d7d
Kotlin: Bump upper bound for supported kotlin version in integration test
2026-01-28 09:30:22 +01:00
Anders Fugmann
9f5de6b4f2
Kotlin: Bump versions in documentation
2026-01-28 09:30:21 +01:00
Anders Fugmann
6d60595d73
Kotlin: Add changenotes for Kotlin 2.3 support and removal of support for Kotlin 1.6 and 1.7
2026-01-28 09:30:21 +01:00
Anders Fugmann
e1f3d5b374
Kotlin: Do not skip writing of getter and setters if the local deligate is null
2026-01-28 09:30:20 +01:00
Anders Fugmann
5cdfb77504
Kotlin: Add additional warning suppresion to v1_9_0 and remove copy in v2_3_0
2026-01-28 09:30:20 +01:00
Anders Fugmann
8ee35231c2
Kotlin: Remove support for Kotlin versions 1.6 and 1.7
...
This change rolls up all files from v1_6_0, v1_6_20, v1_7_0 and v_1_7_20.
In addition, versioned files that are not overridden by any later Kotlin versions (i.e. files that only have one copy under utils/versions) are inlined and removed to simplify list of changes.
List of removed/inlined files:
allOverriddenIncludingSelf.kt
copyTo.kt
ExperimentalCompilerApi.kt
getFileClassFqName.kt
IsUnderscoreParameter.kt
ReferenceEntity.kt
SyntheticBodyKind.kt
Types.kt
withHasQuestionMark.kt
2026-01-28 09:30:20 +01:00
Anders Fugmann
55525279ca
Kotlin: Remove obsolete file
2026-01-28 09:30:19 +01:00
Anders Fugmann
4d7c84178a
Kotlin: Fix spelling
2026-01-28 09:30:19 +01:00
Anders Fugmann
eb37255c4b
Kotlin: Create IrSimpleType factory function to support constructor changes introduced in Kotlin 2.3
2026-01-28 09:30:18 +01:00
Anders Fugmann
164cae845d
Kotlin: Strip prefix when building plugin
2026-01-28 09:30:18 +01:00
Anders Fugmann
b8d01ed21b
Kotlin: Fix bazel format and address copilot review comments
2026-01-28 09:30:18 +01:00
Anders Fugmann
cc25d30fed
Kotlin: Update compiler plugin for Kotlin 2.3.0
2026-01-28 09:30:17 +01:00
Anders Fugmann
07e5479aff
Kotlin: Add support for Kotlin 2.3.0
2026-01-28 09:30:17 +01:00
Anders Fugmann
bc419fd35c
Kotlin: Silence compilation warnings
2026-01-28 09:30:16 +01:00
Anders Fugmann
772503bad8
Kotlin: Remove resource_strip_prefix for kotlin extraction
2026-01-28 09:30:16 +01:00
Anders Fugmann
beff080ee7
Kotlin: Update kotlin_rules to 2.2.0 and remove support for Kotlin 1.6 and 1.7
2026-01-28 09:30:16 +01:00
Anders Peter Fugmann
f4edff9452
Merge pull request #21216 from github/andersfugmann/kotlin_extractor_load_last
...
Kotlin: Load kotlin extractor last
2026-01-28 09:22:46 +01:00
Mathias Vorreiter Pedersen
4503c625b4
C++: Implement copilot suggestions.
2026-01-27 19:02:28 +00:00
Mathias Vorreiter Pedersen
28fec0c129
C++: Accept test changes.
2026-01-27 18:29:21 +00:00
Mathias Vorreiter Pedersen
445cca1432
C++: Proper SSA support for post-crement reads.
2026-01-27 18:29:12 +00:00
Henry Mercer
497135593c
Merge branch 'main' into codeql-spark-run-21376405640
2026-01-27 09:11:02 -08:00
Henry Mercer
2214a944bb
Merge pull request #21225 from github/rc/3.20
...
Merge `rc/3.20` back to `main`
2026-01-27 07:56:58 -08:00
Owen Mansel-Chan
a0c35516bd
Add change note
2026-01-27 15:48:04 +00:00
Owen Mansel-Chan
42cbe0734e
Specify what lock types are considered in qhelp
2026-01-27 15:39:03 +00:00
Owen Mansel-Chan
516b84b59a
Add test for *Pool exclusion
2026-01-27 15:38:29 +00:00
Owen Mansel-Chan
4f1ad0ff5d
Exclude *Pool classes from LockType
2026-01-27 15:38:06 +00:00
Jon Janego
ccc4d8ae3f
Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.24.0.rst
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-27 09:18:25 -06:00
Simon Friis Vindum
2cb0e81da0
Rust: Remove duplicated inclusion of getAdditionalPathTypeAt
2026-01-27 16:17:52 +01:00
Simon Friis Vindum
aae5333325
Rust: Add test with type inference inconsistency
2026-01-27 16:17:51 +01:00
Simon Friis Vindum
fa59a8ae24
Rust: Implement TypeMention for paths that access associated types on concrete types
2026-01-27 16:17:49 +01:00
Simon Friis Vindum
4526afc29f
Rust: Paths to associated types resolve to the associated type if implementation is unclear
2026-01-27 16:17:48 +01:00
Jon Janego
1c5a9053f9
Fix typo in call graph description in change notes
2026-01-27 09:17:40 -06:00
Jon Janego
5a08adc06c
Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.1.rst
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-27 09:11:01 -06:00
Jon Janego
0b8b75ac25
Update codeql-cli-2.23.1.rst
2026-01-27 09:10:37 -06:00
Mads Navntoft
b7125a009e
Merge pull request #21221 from github/navntoft/struts
...
Java: Add support for Struts 7.x package names
2026-01-27 15:53:26 +01:00
Owen Mansel-Chan
97a0b9f0ca
(trivial) Remove double spaces in qhelp
2026-01-27 14:40:23 +00:00
Ian Lynagh
46a5035543
Merge pull request #21200 from github/igfoo/rename-holdsInBase-to-isBase
...
C++: Rename `holdsInBase` to `isBase`
2026-01-27 13:50:04 +00:00
Ian Lynagh
bb71790a53
Merge pull request #21199 from github/igfoo/refactorOverlayFunctionCalls
...
C++ overlay: Simplify QL
2026-01-27 13:03:01 +00:00
Mathias Vorreiter Pedersen
db3f22a2e8
C++: Another small refactor.
2026-01-27 12:46:52 +00:00
Mathias Vorreiter Pedersen
3d445be926
C++: Small refactor.
2026-01-27 12:46:48 +00:00
Mads Navntoft
ede05b54ea
Java: Add change note for Struts 7.x package name support
2026-01-27 13:00:16 +01:00
Mads Navntoft
9a94d0474c
Java: Add support for Struts 7.x package names
...
Updates Struts library to recognize both legacy xwork2 and new struts2
packages:
- StrutsActions.qll: Add org.apache.struts2 alternatives for Action,
Preparable, ActionSupport
- StrutsConventions.qll: Add org.apache.struts2.action.Action
alternative
This maintains backward compatibility for analyzing Struts 2.x-6.x apps
while supporting Struts 7.x which renamed packages from
com.opensymphony.xwork2 to org.apache.struts2.
2026-01-27 12:57:55 +01:00
Mathias Vorreiter Pedersen
9e9d57bac5
Merge pull request #21219 from MathiasVP/force-more-uniquess-in-buffer-overflow
...
C++: Enforce more uniqueness in `Buffer.qll`
2026-01-27 11:00:40 +00:00
Owen Mansel-Chan
8e3c373548
Merge pull request #21223 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-27 10:35:28 +00:00
Owen Mansel-Chan
5bfeede364
Add dependency on shared controlflow library
2026-01-27 09:43:19 +00:00
github-actions[bot]
f49531b3ca
Add changed framework coverage reports
2026-01-27 00:28:39 +00:00
github-actions[bot]
0f4f0b880a
update codeql documentation
2026-01-26 22:32:02 +00:00
Mathias Vorreiter Pedersen
e0a7889b71
C++: Undo the hack.
2026-01-26 21:28:21 +00:00
Mathias Vorreiter Pedersen
bd09aad7d5
C++: Add tests.
2026-01-26 21:24:22 +00:00
Mathias Vorreiter Pedersen
980c4cf5f4
Update cpp/ql/lib/semmle/code/cpp/commons/Buffer.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-26 19:12:38 +00:00
Mathias Vorreiter Pedersen
544015d0a6
C++: Add change note.
2026-01-26 19:12:14 +00:00
Tom Hvitved
b974a84bef
Merge pull request #21051 from hvitved/shared/flow-summary-provenance-filtering
...
Shared: Provenance-based filtering of flow summaries
2026-01-26 17:24:34 +01:00
Mathias Vorreiter Pedersen
aed0e688f5
C++: Remove uniqueness since it is enforced earlier now.
2026-01-26 15:01:40 +00:00
Mathias Vorreiter Pedersen
13a5249a9d
C++: Enforce uniqueness in the other branch of 'getSize'.
2026-01-26 15:00:58 +00:00
Mathias Vorreiter Pedersen
91752e5307
C++: Enforce uniqueness in 'getVariableSize'.
2026-01-26 15:00:00 +00:00
Simon Friis Vindum
330505c524
Rust: Add tests for associated types
2026-01-26 15:03:07 +01:00
Anders Fugmann
73850f1b56
Kotlin: Add changenote
2026-01-26 13:27:34 +01:00
yoff
2bd4ccee45
Merge pull request #21004 from yoff/python/mad-barriers
...
Python: MaD barriers
2026-01-26 13:11:21 +01:00
Tom Hvitved
df09f02981
Shared: Shadow hasManualModel in RelevantSummarizedCallable
2026-01-26 12:40:25 +01:00
Tom Hvitved
732c60c07c
C#: Revert change to getASummarizedCallableTarget
2026-01-26 12:40:24 +01:00
Tom Hvitved
0f6bae0ae1
Add change notes
2026-01-26 12:40:22 +01:00
Tom Hvitved
93dad867cd
JS: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:21 +01:00
Tom Hvitved
3b1e062985
C++: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:20 +01:00
Tom Hvitved
0adece7cde
Python: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:19 +01:00
Tom Hvitved
739748c29b
Go: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:18 +01:00
Tom Hvitved
47d9e8a357
Swift: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:17 +01:00
Tom Hvitved
7024b07dd2
Java: Adapt to changes in FlowSummaryImpl
...
Missing manual models were added using the following code added to `FlowSummaryImpl.qll`:
```ql
private predicate testsummaryElement(
Input::SummarizedCallableBase c, string namespace, string type, boolean subtypes, string name,
string signature, string ext, string originalInput, string originalOutput, string kind,
string provenance, string model, boolean isExact
) {
exists(string input, string output, Callable baseCallable |
summaryModel(namespace, type, subtypes, name, signature, ext, originalInput, originalOutput,
kind, provenance, model) and
baseCallable = interpretElement(namespace, type, subtypes, name, signature, ext, isExact) and
(
c.asCallable() = baseCallable and input = originalInput and output = originalOutput
or
correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalInput,
input) and
correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalOutput,
output)
)
)
}
private predicate testsummaryElement2(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string originalInput, string originalOutput, string kind, string provenance, string model,
string namespace2, string type2
) {
exists(Input::SummarizedCallableBase c |
testsummaryElement(c, namespace2, type2, _, _, _, ext, originalInput, originalOutput, kind,
provenance, model, false) and
testsummaryElement(c, namespace, type, subtypes, name, _, _, _, _, _, provenance, _, true) and
signature = paramsString(c.asCallable()) and
not testsummaryElement(c, _, _, _, _, _, _, originalInput, originalOutput, kind, provenance,
_, true)
)
}
private string getAMissingManualModel(string namespace2, string type2) {
exists(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string originalInput, string originalOutput, string kind, string provenance, string model
|
testsummaryElement2(namespace, type, subtypes, name, signature, ext, originalInput,
originalOutput, kind, provenance, model, namespace2, type2) and
result =
"- [\"" + namespace + "\", \"" + type + "\", True, \"" + name + "\", \"" + signature +
"\", \"\", \"" + originalInput + "\", \"" + originalOutput + "\", \"" + kind + "\", \"" +
provenance + "\"]"
)
}
```
2026-01-26 12:40:15 +01:00
Tom Hvitved
c975ae5231
Ruby: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:14 +01:00
Tom Hvitved
c4e0dda178
Rust: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:10 +01:00
Tom Hvitved
b11b091559
C#: Adapt to changes in FlowSummaryImpl
2026-01-26 12:39:38 +01:00
Tom Hvitved
4ce04e4749
Shared: Provenance-based filtering of flow summaries
2026-01-26 12:39:37 +01:00
Simon Friis Vindum
01cc19cffc
Rust: Add trait visibility test using Self
2026-01-26 12:31:16 +01:00
Simon Friis Vindum
793d2c79de
Merge pull request #21215 from paldepind/shared/type-mention-tree
...
Shared, Rust: Use `HasTypeTreeSig` for `TypeMention`
2026-01-26 12:00:02 +01:00
Michael B. Gale
f76211c64a
Merge pull request #21136 from github/mbg/java/maven-plugin-repo-changenote
...
Java: Add change note for plugin repo support
2026-01-26 10:44:51 +00:00
Michael B. Gale
ffa700c825
Merge pull request #21214 from github/mbg/go/diagnostics-unit-tests
...
Go: Make diagnostics unit-testable and add test for `EmitCannotFindPackages`
2026-01-26 10:44:03 +00:00
Michael B. Gale
bd8a127565
Merge pull request #21213 from github/mbg/go/improve-package-not-found
2026-01-26 09:59:01 +00:00
Anders Fugmann
c488086135
Kotlin: Ensure the kotlin extractor is loaded as the last extension to be able to capture expansions from other extensions
2026-01-26 10:38:11 +01:00
Simon Friis Vindum
452d307fd5
Rust: Make TypeMention directly satisfy HasTypeTree
2026-01-26 09:46:33 +01:00
Simon Friis Vindum
7100ca4262
Rust: Adapt to changes in shared type inference library
2026-01-26 09:33:50 +01:00
Simon Friis Vindum
a7fecaaa1b
Shared: Use HasTypeTreeSig for TypeMention
2026-01-26 09:29:51 +01:00
Michael B. Gale
45e0a929a8
Move nil check into FileDiagnosticsWriter implementation of WriteDiagnostic
2026-01-25 15:33:26 +00:00
Michael B. Gale
8e7d62600d
Make EmitCannotFindPackages testable and add tests
2026-01-25 15:24:43 +00:00
Michael B. Gale
f1f4ddb76c
Add dependency on testify/assert
2026-01-25 15:20:06 +00:00
Michael B. Gale
fafc2ddc0b
Add DiagnosticsWriter interface to abstract over diagnostics output implementation
2026-01-25 15:20:05 +00:00
Michael B. Gale
f837d90060
Improve go/autobuilder/package-not-found diagnostic message
2026-01-25 15:18:19 +00:00
Michael B. Gale
fdc5ae375b
Add IsActionsWorkflow
2026-01-25 12:39:56 +00:00
Michael B. Gale
e250c711aa
Add IsDynamicActionsWorkflow
2026-01-25 12:06:30 +00:00
Mathias Vorreiter Pedersen
cabcb83b2f
Merge pull request #21212 from MathiasVP/fix-as-definition
...
C++: Fix missing results for `Node.asDefinition`
2026-01-23 19:39:22 +00:00
Jeroen Ketema
e36080061d
Merge pull request #21162 from owen-mc/cpp/mad-barriers
...
C++: Allow MaD barriers
2026-01-23 18:14:01 +01:00
Mathias Vorreiter Pedersen
6c2a3a68b6
C++: Add change note.
2026-01-23 16:35:02 +00:00
Mathias Vorreiter Pedersen
a556152b9d
C++: Fix asDefinition to not only work for SSA definitions.
2026-01-23 16:23:21 +00:00
Mathias Vorreiter Pedersen
e58a8330cd
C++: Add test for asDefinition.
2026-01-23 16:22:39 +00:00
Chris Smowton
949fc3745a
Merge pull request #21211 from smowton/smowton/fix/long-actions-expressions
...
Actions: tolerate long `${{ ... }}` expressions
2026-01-23 07:54:59 -08:00
Chris Smowton
a326ce34a8
change note
2026-01-23 15:47:17 +00:00
Chris Smowton
9018401722
Add test
2026-01-23 15:37:40 +00:00
Chris Smowton
6c2e0f7658
Move library tests into subdirectory
2026-01-23 15:35:25 +00:00
Chris Smowton
dc26a57548
Use posessive quantifier to avoid stack overflow on large ${{}} expressions
2026-01-23 15:35:24 +00:00
Owen Mansel-Chan
82e2afc93c
Merge pull request #5 from jketema/cpp/mad-barriers
...
C++: Add MySQL MaD taint and barrier models
2026-01-23 15:06:32 +00:00
Jeroen Ketema
7ed1c0a2ee
C++: Add change note
2026-01-23 14:15:29 +01:00
Jeroen Ketema
ecd247bf16
C++: Add MaD models for MySQL escaping
2026-01-23 14:15:27 +01:00
Jeroen Ketema
ad590f30c1
Merge branch 'main' into cpp/mad-barriers
2026-01-23 14:14:22 +01:00
Jeroen Ketema
075041f1ae
Merge pull request #21209 from jketema/jketema/sql
...
C++: Simplify `cpp/sql-injection` barrier
2026-01-23 13:33:19 +01:00
Rasmus Wriedt Larsen
7e674f3227
Merge pull request #21160 from owen-mc/scripts/accept-ci-changes-more-robust
...
Scripts: be more robust when parsing test logs
2026-01-23 11:49:06 +01:00
Geoffrey White
573ab025b4
Merge pull request #21191 from geoffw0/addsub
...
Rust: More test cases for add, sub etc
2026-01-23 10:30:21 +00:00
Simon Friis Vindum
7bdf2ab9d2
Merge pull request #21210 from paldepind/rust/self-tests
...
Rust: Add tests for `Self` constructors
2026-01-23 11:27:58 +01:00
Simon Friis Vindum
8f6f7d0985
Rust: Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-23 10:07:11 +01:00
Simon Friis Vindum
3d7049265f
Rust: Add tests for Self constructors
2026-01-23 09:06:49 +01:00
Jeroen Ketema
ccd07b8a63
C++: Simplify cpp/sql-injection barrier
...
SQL sanitizers will not likely also be sources, so using `isBarrierIn` here
does not make a lot of sense.
I ran with and without this change on MRVA and got identical results.
2026-01-23 09:03:48 +01:00
yoff
55abc52c61
python: format file
2026-01-22 20:51:46 +01:00
Simon Friis Vindum
e40f896b17
Merge pull request #21205 from paldepind/shared/ti-boound-tm
...
Rust: Change `getATypeParameterConstraint` to not require a `TypeMention`
2026-01-22 19:08:53 +01:00
yoff
d05901ad3f
python/javascript/ruby: mark internal predicates
2026-01-22 17:30:24 +01:00
yoff
7f00a7f67e
Update python/ql/lib/semmle/python/security/dataflow/UrlRedirectCustomizations.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2026-01-22 17:30:24 +01:00
yoff
b08c972cc3
ruby: Add back sanitizer as MaD model
2026-01-22 17:30:24 +01:00
yoff
15980cb1da
ruby: remove sanitizer to be replaced by MaD model
2026-01-22 17:30:24 +01:00
yoff
75bd4a7a12
javascript: add MaD model
...
- consider if the model is in the right place
- consider if the barrier kind (sink kind) is the appropriate one
2026-01-22 17:30:24 +01:00
yoff
da2f77d615
javascript: remove sanitizer to be replaced by model
2026-01-22 17:30:24 +01:00
yoff
3dbfb9fa4b
python: add machinery for MaD barriers
...
and reinstate previously removed barrier
now as a MaD row
2026-01-22 17:30:24 +01:00
yoff
699ed50432
python: remove barrier that can be expressed in MaD
2026-01-22 17:30:24 +01:00
Geoffrey White
f484d95081
Merge remote-tracking branch 'upstream/main' into addsub
2026-01-22 16:03:42 +00:00
Simon Friis Vindum
ffaf1c0a24
Rust: Change getATypeParameterConstraint to not require a TypeMention
2026-01-22 14:54:24 +01:00
Tom Hvitved
201512525b
Merge pull request #21203 from hvitved/ql4ql/use-nightly
...
QL4QL: Use nightly CodeQL CLI
2026-01-22 14:30:24 +01:00
Geoffrey White
b8581e89bf
Rust: More affected tests.
2026-01-22 13:22:43 +00:00
Simon Friis Vindum
7d34f6e262
Merge pull request #21204 from paldepind/rust/assoc-tp-fix
...
Rust: Remove mistakenly included inherited associated types
2026-01-22 13:46:09 +01:00
Geoffrey White
67b52e29e0
Rust: Update other affected tests.
2026-01-22 12:29:21 +00:00
Geoffrey White
3d6765ba1c
Rust: Clean up / fix some existing models.
2026-01-22 12:29:20 +00:00
Geoffrey White
fa9677d615
Rust: Add model variants for core::ops::bit on Wrapping.
2026-01-22 12:29:14 +00:00
Geoffrey White
9d645508ea
Rust: Add model variants for core::ops:arith on Wrapping.
2026-01-22 10:46:15 +00:00
Simon Friis Vindum
114db99dca
Rust: Remove mistakenly included inherited associated types
2026-01-22 11:44:26 +01:00
Tom Hvitved
8ce2618b7d
Merge pull request #21151 from hvitved/rust/disable-universal-conds-by-default
...
Type inference: Disable universal conditions by default
2026-01-22 11:19:50 +01:00
Geoffrey White
e8ef58d381
Rust: Fix an issue with identifying sources and sinks in the test.
2026-01-22 09:58:58 +00:00
Geoffrey White
f8d0a0d509
Rust: Expand the Wrapping test some more.
2026-01-22 09:52:26 +00:00
Tom Hvitved
80d543ecae
QL4QL: Use nightly CodeQL CLI
2026-01-22 10:14:05 +01:00
Tom Hvitved
65ca8849f2
Type inference: Disable universal conditions
2026-01-22 09:56:52 +01:00
Mathias Vorreiter Pedersen
73eb3e262d
Merge pull request #21202 from MathiasVP/add-is-live-predicate-to-ssa-definition
...
C++: Add `isLiveAtEndOfBlock` predicate to `Ssa::Definition`
2026-01-21 22:50:46 +00:00
Mathias Vorreiter Pedersen
60ee92d834
C++: Drive-by fix: Don't use the uncached ''getAPhiInputOrPriorDefinition' predicate. Instead, cache it and call it like we are supposed to.
2026-01-21 20:28:28 +00:00
Mathias Vorreiter Pedersen
d89967ce8e
C++: Add ''isLiveAtEndOfBlock' predicate to 'Definition'.
2026-01-21 20:27:39 +00:00
Mathias Vorreiter Pedersen
dd415386ea
Merge pull request #21142 from MathiasVP/ir-support-for-assertions
...
C++: Generate IR for assertions in release builds
2026-01-21 19:32:24 +00:00
Mathias Vorreiter Pedersen
64a7d7d836
C++: Also output variable name in test.
2026-01-21 19:14:50 +00:00
Ian Lynagh
5e536fb121
C++: Rename holdsInBase to isBase
...
Makes it consistent with isOverlay.
2026-01-21 18:13:58 +00:00
Ian Lynagh
7bd62087a4
C++ overlay: Simplify QL
...
Remove redundant variable names.
2026-01-21 18:06:43 +00:00
Owen Mansel-Chan
656ebab776
Allow MaD barriers
...
This commit was done by Opus 4.5 with the following prompt:
In the commit 004d40ee93 I have made it so that C# CodeQL queries which use sinks defined using data extensions (also known as "models-as-data"), which are accessed using `sinkNode(Node node, string kind)`, also use barriers defined using models-as-data, which are accessed using `barrierNode(Node node, string kind)`, with the same `kind` string. Please do the same for C++. If there are any complicated cases then list them at the end for me to do manually.
2026-01-21 14:45:05 +00:00
Mathias Vorreiter Pedersen
e1089c8d89
Merge branch 'main' into ir-support-for-assertions
2026-01-21 13:56:30 +00:00
Mathias Vorreiter Pedersen
11566ee256
C++: Accept test changes.
2026-01-21 13:50:28 +00:00
Mathias Vorreiter Pedersen
e4ec79255b
C++: Fix bugs in variable resolution for assertions following review comments.
2026-01-21 13:50:27 +00:00
Mathias Vorreiter Pedersen
c30dffc7b9
C++: Add more tests.
2026-01-21 13:50:13 +00:00
Geoffrey White
1d461ff5ad
Rust: Test unpacking the Wrapping number.
2026-01-21 12:49:59 +00:00
Mathias Vorreiter Pedersen
6ae1ea73f7
Merge pull request #21185 from MathiasVP/mad-cpp-guards
...
C++: Support models-as-data barriers and barrier guards
2026-01-21 12:13:49 +00:00
Paolo Tranquilli
0b9691aca2
Merge pull request #21047 from github/redsun82/codegen-readme
...
codegen: mention Rust in the README
2026-01-21 02:51:07 -08:00
Tom Hvitved
9a9e9ac23c
Merge pull request #21168 from hvitved/rust/type-inference-remove-blanket-constraint-restriction
...
Rust: Remove restriction that blanket(-like) impls must have a constraint
2026-01-21 11:05:17 +01:00
Taus
5414bd2716
Merge pull request #21134 from yoff/python/support-ListElement-in-MaD
...
Python support `ListElement` in MaD
2026-01-20 23:38:02 +01:00
Mathias Vorreiter Pedersen
048afc2c88
C++: Add assertion inside catch block. This does not yet work because the 'LocalScopeVariable' does not have a result for 'getFunction'.
2026-01-20 21:31:52 +00:00
Tom Hvitved
f76d85c9c6
Address review comments
2026-01-20 21:06:20 +01:00
yoff
fa926456ef
python: add changenote
2026-01-20 18:16:03 +01:00
Jon Janego
1c38fb6ad6
Merge pull request #21196 from github/changedocs-2.23.9
...
Changedocs 2.23.9
2026-01-20 10:43:21 -06:00
Jon Janego
b3b30a15b8
Changedocs for 2.23.9
2026-01-20 10:27:54 -06:00
Jon Janego
4ca508d420
Changedocs for 2.23.9
2026-01-20 10:23:36 -06:00
Jeroen Ketema
fbcb65a5d9
Merge pull request #21195 from jketema/jketema/embed
...
C++: Support C23/C++26 `#embed` preprocessor directives
2026-01-20 16:27:44 +01:00
Jeroen Ketema
701569bb20
Update cpp/ql/lib/semmle/code/cpp/Preprocessor.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-20 16:05:51 +01:00
Jeroen Ketema
b35271a2ca
C++: Add upgrade and downgrade script
2026-01-20 15:40:24 +01:00
Jeroen Ketema
28047fe625
C++: Update dbscheme stats file
2026-01-20 14:39:00 +01:00
Jeroen Ketema
e7044061fb
C++: Support C23/C++26 #embed preprocessor directives
2026-01-20 14:38:58 +01:00
Ian Lynagh
f8f5094452
Merge pull request #20957 from igfoo/igfoo/consistent-metadata-and-overlay-support
...
C++ / JS / python: Be consistent in TRAP sections
2026-01-20 12:43:49 +00:00
Ian Lynagh
51b1ea84d3
ql for ql: Fix formatting
2026-01-20 12:12:20 +00:00
Ian Lynagh
49ced5fd9d
C++: Add up/downgrade scripts
2026-01-20 11:57:29 +00:00
Ian Lynagh
d6d2855626
rust: Add up/downgrade scripts
2026-01-20 11:56:20 +00:00
Ian Lynagh
c37ab8f98e
rust: Regenerate dbscheme
2026-01-20 11:56:16 +00:00
Ian Lynagh
1fd60c7671
Ruby: Add up/downgrade scripts
2026-01-20 11:56:16 +00:00
Ian Lynagh
82e9ea2da0
python: Add up/downgrade scripts
2026-01-20 11:56:16 +00:00
Ian Lynagh
a299174f4d
javascript: Add up/downgrade scripts
2026-01-20 11:56:15 +00:00
Ian Lynagh
fdefb4d23a
ql-for-ql: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
d2da49220b
python: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
4b9c9e7a5a
Ruby: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
df8029ff87
tree-sitter: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:15 +00:00
Ian Lynagh
4140121e96
javascript: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:14 +00:00
Ian Lynagh
7d6a1f72d5
C++: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:14 +00:00
Ian Lynagh
c6500e2759
tree-sitter: Add dbscheme regeneration instructions
2026-01-20 11:56:14 +00:00
Ian Lynagh
470bc7d6da
ruby: Make 'dbscheme' a phony target
2026-01-20 11:56:14 +00:00
Ian Lynagh
d1175276ca
python: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:13 +00:00
Ian Lynagh
d125e224ac
python: Add dbscheme regeneration instructions
2026-01-20 11:56:13 +00:00
Philip Ginsbach-Chen
dc3b7aaab0
Merge pull request #21184 from github/ginsbach/OverlayDocumentation
...
add documentation for overlay annotations
2026-01-20 11:26:46 +00:00
Philip Ginsbach
8d5eb407ad
incorporate additional suggestions from PR review
2026-01-20 11:17:15 +00:00
Tom Hvitved
224e5dece4
Merge pull request #21170 from paldepind/rust/type-inference-fns
...
Rust: Improve type inference for closures and function traits
2026-01-20 11:52:10 +01:00
Simon Friis Vindum
dd73399238
Rust: Tweak a comment
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-01-20 09:57:27 +01:00
Simon Friis Vindum
8e6f920ae2
Rust: Fix naming of mention_dyn_fn
2026-01-20 08:50:58 +01:00
Simon Friis Vindum
75cab960e2
Rust: Make AnyTraitFn abstract
2026-01-20 08:50:57 +01:00
Nick Rolfe
6fe76b3b11
Merge pull request #21190 from github/post-release-prep/codeql-cli-2.24.0
...
Post-release preparation for codeql-cli-2.24.0
2026-01-19 10:09:32 -08:00
Geoffrey White
ff6e598f72
Rust: Annotate failures with explanation.
2026-01-19 17:33:44 +00:00
Geoffrey White
fc5d5b4fcc
Rust: Compress the existing core::ops::arith models a bit.
2026-01-19 17:33:41 +00:00
Geoffrey White
50fdc99b8c
Rust: More test cases for operators, std::ops and std::num::Wrapping.
2026-01-19 16:58:03 +00:00
github-actions[bot]
48475e66af
Post-release preparation for codeql-cli-2.24.0
2026-01-19 15:49:08 +00:00
Michael Nebel
93b3f65388
Merge pull request #21158 from michaelnebel/csharp/cfgforaccess
...
C# 14: Null conditional assignments.
2026-01-19 16:22:55 +01:00
Geoffrey White
a0311c0ea3
Rust: Test spacing.
2026-01-19 15:07:42 +00:00
Philip Ginsbach
930b17a2e2
clarify compileForOverlayEval only needed in language packs
2026-01-19 14:06:45 +00:00
Philip Ginsbach
efe413cbd0
expand overlay introduction with base/overlay context
2026-01-19 13:59:01 +00:00
Michael Nebel
7ff1c12e8f
C#: Add some more tests.
2026-01-19 13:17:47 +01:00
Michael Nebel
7ae2b7698e
C#: Relax the condition for when a qualified expression might be null.
2026-01-19 13:17:07 +01:00
Mathias Vorreiter Pedersen
d183dcd6fc
C++: Add 'internal: do not use' comment.
2026-01-19 12:04:12 +00:00
Mathias Vorreiter Pedersen
c11b464492
C++: Autoformat.
2026-01-19 11:58:11 +00:00
Mathias Vorreiter Pedersen
b3631545d4
C++: Delete unnecessary conjuncts after review comments.
2026-01-19 11:57:45 +00:00
Mathias Vorreiter Pedersen
c47a9ddf83
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-19 11:46:42 +00:00
Philip Ginsbach
4e478c3629
add overlay documentation to handbook and language spec
2026-01-19 11:45:18 +00:00
Mathias Vorreiter Pedersen
7aca94b1ca
C++: Add change note.
2026-01-19 11:43:59 +00:00
Mathias Vorreiter Pedersen
c70633a0f7
C++: Fix Code Scanning alert.
2026-01-19 11:41:26 +00:00
Mathias Vorreiter Pedersen
58a3260c96
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-19 11:33:48 +00:00
Mathias Vorreiter Pedersen
a11b271d6e
C++: Finish up implementation of MaD barriers.
2026-01-19 11:30:23 +00:00
Anders Schack-Mulligen
48254800b1
WIP
...
C++: Add support for MaD barriers and barrier guards.
2026-01-19 11:30:21 +00:00
Mathias Vorreiter Pedersen
07ac8a5d81
C++: Parameterize the BarrierGuard modules. This is useful for barrier guards with flow states and will be necessary in the next commit for adding MaD specified barriers.
2026-01-19 11:30:19 +00:00
Mathias Vorreiter Pedersen
2b31928c7b
C++: Add MaD barrier guard tests.
2026-01-19 11:30:17 +00:00
Philip Ginsbach
948623e767
add overlay annotation support to QL syntax highlighter
2026-01-19 10:36:11 +00:00
Tom Hvitved
fd309d6e49
Rust: Remove restriction that blanket(-like) impls must have a constraint
2026-01-19 11:21:58 +01:00
Michael Nebel
33fc2bab33
C#: Update test expected output.
2026-01-19 10:19:15 +01:00
Michael Nebel
beb7750c21
C#: Address review comments.
2026-01-19 10:06:14 +01:00
Michael Nebel
86198e3c43
C#: Add tests for out writeacceses.
2026-01-16 11:54:10 +01:00
Michael Nebel
bd1c6e6352
C#: Exclude the field access cases from missing argument call.
2026-01-16 11:54:09 +01:00
Michael Nebel
3d988e8e94
C#: Add field access for out assignments in the CFG.
2026-01-16 11:54:07 +01:00
Michael Nebel
812fdbe412
C#: Add change-note.
2026-01-16 11:54:06 +01:00
Michael Nebel
ab432ec2e9
C#: Update test expected output.
2026-01-16 11:54:04 +01:00
Michael Nebel
5942edf2d9
C#: Take null conditional assignments into account in MaybeNullExpr.
2026-01-16 11:54:02 +01:00
Michael Nebel
f0135e93c5
C#: Add a tests for MaybeNullExpr.
2026-01-16 11:54:01 +01:00
Michael Nebel
4ba89230db
C#: Update test expected output.
2026-01-16 11:53:59 +01:00
Michael Nebel
0bf0cbae8f
C#: Add some null conditional assignments CFG tests.
2026-01-16 11:53:57 +01:00
Michael Nebel
b061c4d083
C#: Update test expected output.
2026-01-16 11:53:55 +01:00
Michael Nebel
98949937dd
C#: Add CFG support for null conditional assignments and include eg. field access in the CFG.
2026-01-16 11:53:54 +01:00
Simon Friis Vindum
78b88d3a44
Rust: Fix grammar in QLDoc
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-16 11:26:05 +01:00
Simon Friis Vindum
9ab29f9be0
Rust: Add a change note for type inference improvements for closures
2026-01-16 10:05:45 +01:00
Simon Friis Vindum
dabc5d54c9
Rust: Improve type inference for closures and function traits
2026-01-16 10:01:00 +01:00
Mathias Vorreiter Pedersen
03d6528687
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 15:58:28 +00:00
Mathias Vorreiter Pedersen
1b117900c2
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 14:42:11 +00:00
Mathias Vorreiter Pedersen
d6ca1ca846
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 14:41:13 +00:00
Simon Friis Vindum
196f6e1931
Rust: Add type inference tests for closures and function traits
2026-01-15 12:00:41 +01:00
Owen Mansel-Chan
657e26a375
Scripts: be more robust when parsing test logs
2026-01-13 11:36:27 +00:00
Mathias Vorreiter Pedersen
4f4baee888
C++: Fix Code Scanning alerts.
2026-01-12 21:08:02 +00:00
Mathias Vorreiter Pedersen
aa058c2cca
C++: Generate IR for assertions in release builds.
2026-01-12 21:07:55 +00:00
Mathias Vorreiter Pedersen
a18f3b6859
C++: Avoid generating IR for a few cases where we will be synthesizing assertions.
2026-01-12 21:06:09 +00:00
Mathias Vorreiter Pedersen
67ab0fee83
C++: Add a few helper predicates.
2026-01-12 21:06:07 +00:00
Mathias Vorreiter Pedersen
6e3fd25b09
C++: Add tests for assertions in release builds.
2026-01-12 21:06:02 +00:00
Michael B. Gale
157487d8f2
Java: Add change note for plugin repo support
2026-01-09 12:49:12 +00:00
yoff
1ac3706e75
Python support ListElement in MaD
2026-01-09 13:08:06 +01:00
Paolo Tranquilli
6fc963177c
codegen: mention Rust in the README
...
Updated README to reflect support for the Rust extractor and added details about Rust generated files.
2025-12-16 11:05:39 +01:00
Joe Farebrother
ac55cf9544
Update test and qldoc
2025-12-01 20:41:59 +00:00
Joe Farebrother
6fbae45d49
Update qldoc
2025-12-01 20:14:36 +00:00
Joe Farebrother
6a1e26c566
Add change note
2025-12-01 20:06:24 +00:00
Joe Farebrother
384e17a4ef
Implement websockets models
2025-12-01 16:24:59 +00:00
REDMOND\brodes
26b8a394b3
Adjusting acryonym for SSRF for casing standards.
2025-09-30 14:09:06 -04:00
REDMOND\brodes
a660eaba95
Adding docs.
2025-09-30 14:07:32 -04:00
REDMOND\brodes
acddb2c272
Moved change log to correct location.
2025-09-30 14:02:43 -04:00
Ben Rodes
d790c6df57
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:25 -04:00
Ben Rodes
fab96d9539
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:16 -04:00
Ben Rodes
5ca9ff2082
Update python/ql/lib/semmle/python/frameworks/SSRFSink.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:05 -04:00
REDMOND\brodes
341f553866
Added change logs.
2025-09-30 13:55:31 -04:00
REDMOND\brodes
704e2966cb
Adding azure sdk test cases and updated test expected file.
2025-09-30 13:32:56 -04:00
REDMOND\brodes
d27d4fdb27
Updating comments.
2025-09-30 13:31:48 -04:00
REDMOND\brodes
47fac883b8
Azure SDK models for SSRF analysis.
...
(cherry picked from commit 0274962612c02af09729526a3c44a545c1e69be8)
2025-09-30 11:58:26 -04:00