Commit Graph

85333 Commits

Author SHA1 Message Date
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
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
Tom Hvitved
d3fc254e17 Merge pull request #21169 from hvitved/shard-compile-queries
Make `compile-queries.yml` sharded based on language
2026-01-15 15:11:01 +01:00
Simon Friis Vindum
d8061c17cc Merge pull request #21165 from paldepind/rust/associated-types
Rust: Associated types are inherited as type parameters by traits and dyn traits
2026-01-15 11:50:00 +01:00
Owen Mansel-Chan
97e0b4e9fd Use parameter name to only select correct overloads 2026-01-15 10:36:03 +00:00
Simon Friis Vindum
15f3c38041 Rust: QLDoc fixes 2026-01-15 11:34:58 +01:00
Anders Schack-Mulligen
c632e8f188 Merge pull request #20448 from github/alexet/avoid-path-node-java
Java: Eliminate pointless use of PathNodes over DataFlow::Node
2026-01-15 10:55:09 +01:00
Tom Hvitved
b4bbafa96f Make compile-queries.yml sharded based on language 2026-01-15 10:30:08 +01:00
Owen Mansel-Chan
13dc17c9b8 Merge pull request #21167 from owen-mc/java/docs/library-coverage
Java: List more covered java frameworks explicitly in docs
2026-01-15 09:18:51 +00:00
Jeroen Ketema
3327193a11 Merge pull request #21164 from jketema/jketema/builtin
C++: More builtins and information regarding this param refs
2026-01-15 08:21:01 +01:00
Owen Mansel-Chan
6e0a1ba233 List more covered java frameworks explicitly 2026-01-15 07:18:15 +00:00
Simon Friis Vindum
8cbe17a62b Rust: Fix bad join on name column 2026-01-15 07:23:34 +01:00
Simon Friis Vindum
ca3e2db217 Rust: Accept changes to expected files 2026-01-14 16:00:59 +01:00
Simon Friis Vindum
465400115f Rust: Adapt type inference consistency query exceptions 2026-01-14 15:36:35 +01:00
Owen Mansel-Chan
0cf0aac397 Merge pull request #21109 from owen-mc/go/misc-trivial-fixes
Go: misc trivial fixes
2026-01-14 14:10:41 +00:00
Jeroen Ketema
17a453bb33 Merge pull request #21126 from jketema/subscript
C++: Add predicates to support C++23 multidimensional subscript operators
2026-01-14 14:48:14 +01:00
Simon Friis Vindum
a19ad5e557 Rust: Associated types are inherited as type parameters by traits and dyn traits 2026-01-14 14:44:31 +01:00
Simon Friis Vindum
62193540f7 Rust: Add additional tests for associated types 2026-01-14 14:44:30 +01:00
Simon Friis Vindum
fd5658dfe8 Rust: Tweak tests for associated types 2026-01-14 14:44:23 +01:00
Simon Friis Vindum
e0c36c758d Rust: Move associated types tests into separate file 2026-01-14 14:39:59 +01:00
Tom Hvitved
991d30f7aa Merge pull request #21161 from hvitved/rust/restrict-implicit-deref-borrow-nodes
Rust: Restrict `ImplicitDerefBorrowNode` to nodes with enclosing CFG scope
2026-01-14 14:37:40 +01:00
Jeroen Ketema
1dacd83915 C++: Update dbscheme stats file 2026-01-14 13:35:53 +01:00
Jeroen Ketema
7a13cbae3f C++: Add upgrade and downgrade scripts 2026-01-14 13:35:52 +01:00
Jeroen Ketema
f6b720b37b C++: Add change note 2026-01-14 13:35:51 +01:00
Jeroen Ketema
047fa068ff C++: Add isThisAccess predicate to ParamAccessForType 2026-01-14 13:35:50 +01:00
Jeroen Ketema
bb33ea383c C++: Add change note for new builtins 2026-01-14 13:35:49 +01:00
Jeroen Ketema
93535d1c86 C++: Add tests for new builtin operations 2026-01-14 13:35:47 +01:00
Jeroen Ketema
3d959abdeb C++: Support new builtin operations 2026-01-14 13:35:46 +01:00
Jeroen Ketema
5d00a4df86 Merge pull request #21143 from jketema/jketema/friends
C++: Update test expectations after extractor changes
2026-01-14 13:31:40 +01:00
Owen Mansel-Chan
e01b674581 Merge pull request #21082 from mbaluda/couchdb
This PR adds models Java client APIs for CouchBase and adds tests for 2 queries
2026-01-14 12:06:47 +00:00
Owen Mansel-Chan
16113e6550 Use type cast to make QL more succinct 2026-01-14 11:50:56 +00:00
Owen Mansel-Chan
76bba60383 Fix misspelling in comment 2026-01-14 11:50:55 +00:00
Owen Mansel-Chan
0dc47380a3 Swap order of equality for easier comprehension 2026-01-14 11:50:53 +00:00
Owen Mansel-Chan
b58e88291e Remove redundant import 2026-01-14 11:50:52 +00:00
Owen Mansel-Chan
94bc47ab15 Swap order of supertypes 2026-01-14 11:50:50 +00:00
Owen Mansel-Chan
3850734a15 Use non-extending subtypes 2026-01-14 11:50:49 +00:00
Owen Mansel-Chan
93d7c5c7ef Remove redundant supertypes 2026-01-14 11:50:44 +00:00
Owen Mansel-Chan
1cd0698453 Fix test for reflected xss sanitizer
It used to pass even without ErrorSanitizer because `cookie` is already
sanitized.
2026-01-14 11:50:08 +00:00
Owen Mansel-Chan
9d5e5b0c8a Add post-processing to Beego tests 2026-01-14 11:50:06 +00:00
Asger F
ff580410fe Merge pull request #20733 from asgerf/js/incremental-api-graphs
JS: Incremental API graph
2026-01-14 12:49:41 +01:00
Mauro Baluda
9f725f7098 Merge branch 'main' into couchdb 2026-01-14 12:33:47 +01:00
Mauro Baluda
f71b6c1bfd Improved models for Supplier arguments 2026-01-14 12:32:42 +01:00
Jeroen Ketema
54f75653ba C++: Update test expectations after extractor changes 2026-01-14 12:01:51 +01:00
Mauro Baluda
5cef0376a9 Update java/ql/test/query-tests/security/CWE-798/semmle/tests/HardcodedCouchBaseCredentials.java
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2026-01-14 11:50:52 +01:00
Asger F
e430aa97f3 Merge pull request #20916 from asgerf/js/next-folders2
JS: Handle Next.js files named 'page' or 'route'
2026-01-14 11:10:57 +01:00
Jeroen Ketema
40a91367ab Merge pull request #21110 from jketema/jketema/rm-decimal
C++: Remove decimal floating point types
2026-01-14 10:58:39 +01:00
Tom Hvitved
cc4926ad37 Merge pull request #21148 from hvitved/rust/remove-macro-block-expr
Rust: Remove `MacroBlockExpr` class
2026-01-14 10:11:22 +01:00
Simon Friis Vindum
519f0d2780 Merge pull request #21023 from paldepind/rust/regenerate-models-1212
Rust: Regenerate models
2026-01-14 09:30:06 +01:00
Mauro Baluda
9efefa6120 Fix test expectations 2026-01-13 22:46:42 +01:00
Mauro Baluda
29f23ee192 Fix extraction error 2026-01-13 22:33:01 +01:00