Commit Graph

85395 Commits

Author SHA1 Message Date
Tom Hvitved
65ca8849f2 Type inference: Disable universal conditions 2026-01-22 09:56:52 +01: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
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
Nick Rolfe
c5329f6f38 Merge pull request #21189 from github/release-prep/2.24.0
Release preparation for version 2.24.0
codeql-cli/v2.24.0
2026-01-19 07:19:55 -08:00
Nick Rolfe
1739e135f5 Fix list formatting inconsistency 2026-01-19 15:17:11 +00:00
Nick Rolfe
783676566c Fix typo in changelog 2026-01-19 15:12:05 +00:00
github-actions[bot]
4142b9c4ce Release preparation for version 2.24.0 2026-01-19 14:49:14 +00:00
Asger F
bedb80346a Merge pull request #20940 from asgerf/js/detect-minified-files
JS: Skip minified file if avg line length > 200
2026-01-19 14:31:09 +01: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
dc7ce3fba3 Merge pull request #21171 from MathiasVP/fix-conflation-in-guards
C++: Fix conflation in barrier guards
2026-01-19 11:29:05 +00:00
Michael Nebel
33fc2bab33 C#: Update test expected output. 2026-01-19 10:19:15 +01:00
Asger F
077bbb24ac Merge pull request #21159 from asgerf/js/vue-prop-function
JS: Add support for props callbacks in Vue router configs
2026-01-19 10:13:49 +01:00
Michael Nebel
beb7750c21 C#: Address review comments. 2026-01-19 10:06:14 +01:00
Tom Hvitved
06b99b2ce9 Merge pull request #21180 from hvitved/rust/fix-bad-join2
Rust: Fix bad join
2026-01-19 08:22:32 +01:00
Tom Hvitved
1c689d060b Merge pull request #21179 from hvitved/rust/fix-bad-join
Rust: Fix bad join
2026-01-16 17:20:19 +01:00
Mathias Vorreiter Pedersen
f05bff01e4 C++: Switch another 'DataFlowType' to 'Type'. 2026-01-16 12:42:33 +00:00
Mathias Vorreiter Pedersen
08a6b99cfd C++: Add change note. 2026-01-16 12:41:20 +00:00
Tom Hvitved
43e20176f0 Rust: Fix bad join
Before
```
Evaluated relational algebra for predicate _ElementImpl::Impl::MacroExpansion::isAttributeMacroExpansionSourceLocation/2#3429148c_Locatable::Lo__#antijoin_rhs@9f4aa4rk with tuple counts:
        5127263380  ~4%    {3} r1 = JOIN `_AstNodeImpl::Impl::AstNode#22e758cf_ElementImpl::Impl::MacroExpansion::getATokenTreeNode/1#a2df59a3__#shared` WITH `ElementImpl::Impl::MacroExpansion::isAttributeMacroExpansionSourceLocation/2#3429148c` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
            305226  ~0%    {2}    | JOIN WITH `Locatable::Locatable.getLocation/0#dispred#f3f7e2b2` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
                           return r1
```

(No After; the predicate is no longer generated)
2026-01-16 13:30:10 +01:00
Mathias Vorreiter Pedersen
5e9fd12d8c Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-16 12:25:12 +00:00
Tom Hvitved
767acb8ff4 Rust: Fix bad join
Before
```
Evaluated relational algebra for predicate TypeMention::RefTypeReprMention.resolveRootType/0#dispred#091b949a#fb@4bd8a49g with tuple counts:
            124419   ~0%    {1} r1 = RefTypeRepr::Generated::RefTypeRepr#422893fa AND NOT `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f`(FIRST 1)
        6621454761   ~1%    {3}    | JOIN WITH `Type::DataType.getTypeItem/0#dispred#83467854` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.1
         915101745   ~0%    {4}    | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.2, _, Lhs.1, Lhs.0
         915101745   ~3%    {4}    | REWRITE WITH Out.1 := "Ref"
            124419   ~0%    {2}    | JOIN WITH `Builtins::BuiltinType.getName/0#dispred#8f62ab0a` ON FIRST 2 OUTPUT Lhs.2, Lhs.3

             76728   ~0%    {1} r2 = JOIN RefTypeRepr::Generated::RefTypeRepr#422893fa WITH `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f` ON FIRST 1 OUTPUT Lhs.0
        4083387432   ~1%    {3}    | JOIN WITH `Type::DataType.getTypeItem/0#dispred#83467854` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.1
         564334440   ~3%    {4}    | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.2, _, Lhs.1, Lhs.0
         564334440   ~0%    {4}    | REWRITE WITH Out.1 := "RefMut"
             76728   ~2%    {2}    | JOIN WITH `Builtins::BuiltinType.getName/0#dispred#8f62ab0a` ON FIRST 2 OUTPUT Lhs.2, Lhs.3

            201147   ~1%    {2} r3 = r1 UNION r2
                            return r3
```

After
```
Evaluated relational algebra for predicate TypeMention::RefTypeReprMention.resolveRootType/0#dispred#091b949a#fb@8f12aa2a with tuple counts:
        124419   ~0%    {1} r1 = RefTypeRepr::Generated::RefTypeRepr#422893fa AND NOT `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f`(FIRST 1)
        124419   ~0%    {2}    | JOIN WITH Type::RefSharedType#090df68e CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0
        124419   ~0%    {2}    | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.1, Lhs.0

         76728   ~0%    {1} r2 = JOIN RefTypeRepr::Generated::RefTypeRepr#422893fa WITH `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f` ON FIRST 1 OUTPUT Lhs.0
         76728   ~0%    {2}    | JOIN WITH Type::RefMutType#c67a1837 CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0
         76728   ~2%    {2}    | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.1, Lhs.0

        201147   ~1%    {2} r3 = r1 UNION r2
                        return r3
```
2026-01-16 13:11:45 +01:00
Tom Hvitved
7c95fefd96 Merge pull request #21177 from hvitved/actions/example-dir
Actions: Add `examples` qlpack
2026-01-16 13:03:54 +01:00
Tom Hvitved
3cdca25a67 Actions: Add examples qlpack 2026-01-16 12:48:54 +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
ec094400fb Merge pull request #21172 from paldepind/rust/dyn-abs
Rust: Avoid unnecessary constraint satisfaction
2026-01-16 11:32:39 +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
6b3d863f70 Rust: Remove trait parameter from canonicalDynTraitTypeAbstraction 2026-01-16 11:12:34 +01:00
Owen Mansel-Chan
c14b869856 Merge pull request #21175 from github/workflow/coverage/update
Update CSV framework coverage reports
2026-01-16 09:49:29 +00:00
Simon Friis Vindum
a11693268b Rust: Avoid duplicated entries in conditionSatisfiesConstraint for dyn trait types 2026-01-16 10:46:23 +01:00
Simon Friis Vindum
c0b3569473 Rust: Move TypeAbstraction into separate file 2026-01-16 10:45:50 +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
github-actions[bot]
549307a6bd Add changed framework coverage reports 2026-01-16 00:26:48 +00:00
Mathias Vorreiter Pedersen
6da7890ff5 C++: Add indirect barrier guard to 'cpp/unbounded-write' to prevent FPs after fixing conflation. 2026-01-15 18:31:54 +00:00
Owen Mansel-Chan
a5d9cb179a Merge pull request #20930 from owen-mc/java/spring-rest-template-request-forgery-sinks
Java: add more Spring RestTemplate request forgery sinks
2026-01-15 14:23:15 +00:00