Commit Graph

535 Commits

Author SHA1 Message Date
Paolo Tranquilli
31b9b3adaa Merge branch 'main' into redsun82/rust-perf-measures 2024-12-04 10:50:37 +01:00
Paolo Tranquilli
b9be002e01 Rust: improve TupleStructPat.toString 2024-12-04 10:47:41 +01:00
Paolo Tranquilli
59ea563d2a Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-04 10:44:11 +01:00
Simon Friis Vindum
33fe51da4e Update rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll
Co-authored-by: Tom Hvitved <hvitved@github.com>
2024-12-04 10:37:30 +01:00
Paolo Tranquilli
e30a429c3d Rust: revert TupleStructPat.toString improvements 2024-12-04 10:34:28 +01:00
Paolo Tranquilli
53503002a1 Merge branch 'main' into redsun82/rust-tweaks 2024-12-04 09:35:01 +01:00
Simon Friis Vindum
bb015cf56d Merge branch 'main' into rust-df-closure 2024-12-04 09:25:18 +01:00
Simon Friis Vindum
f4aa3603ad Rust: Do not consider async blocks as lambda expressions 2024-12-04 09:23:12 +01:00
Simon Friis Vindum
70c60868a6 Rust: Model ? as reading from Option and Result 2024-12-03 17:01:34 +01:00
Paolo Tranquilli
8a1136ddcb Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-03 16:23:22 +01:00
Paolo Tranquilli
277c9f4087 Rust: add back getAttr to ArrayExpr 2024-12-03 16:12:56 +01:00
Paolo Tranquilli
c113503b41 Rust: fix doc typo 2024-12-03 15:18:17 +01:00
Paolo Tranquilli
353f1cafe6 Rust: distinguish [a, b] from [a; b]
This splits the `ArrayExpr` class into `ArrayListExpr` and `ArrayRepeatExpr`.
This uses the `synth.from_class` machinery to integrate seamlessly into the
generated code, by hiding the extracted `ArrayExpr` behind an internal class
and replacing it with a hierarchy of those two classes under a new
`ArrayExpr` class.
2024-12-03 15:09:20 +01:00
Simon Friis Vindum
cac4514eae Rust: Add basic data flow through arrays 2024-12-03 14:15:54 +01:00
Paolo Tranquilli
ebe38bca23 Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-03 12:19:08 +01:00
Paolo Tranquilli
db18d1046b Rust: rename getTy -> getTypeRepr 2024-12-03 11:17:08 +01:00
Paolo Tranquilli
b99e234cdc Merge branch 'main' into redsun82/rust-tweaks 2024-12-03 10:47:03 +01:00
Tom Hvitved
3c767b086b Rust: Use canonical paths for variants in data flow 2024-12-03 10:19:33 +01:00
Simon Friis Vindum
e377a0e05a Merge branch 'main' into rust-df-closure 2024-12-03 10:09:52 +01:00
Tom Hvitved
52dc79eb7d Address review comments 2024-12-03 09:28:21 +01:00
Tom Hvitved
3e5f4b7f89 Rust: Add a model for unwrap 2024-12-03 09:12:01 +01:00
Tom Hvitved
fbeb6f3940 Shared: Move shared logic into FlowSummaryImpl.qll 2024-12-03 09:11:11 +01:00
Tom Hvitved
395901b8e0 Rust: Adopt shared flow summaries library 2024-12-03 09:11:06 +01:00
Simon Friis Vindum
8e2beb7410 Merge pull request #18131 from paldepind/rust-field-flow
Rust: Data flow through tuple and struct fields
2024-12-02 20:44:37 +01:00
Paolo Tranquilli
e89cf303e7 Rust: rename TypeRef -> TypeRepr 2024-12-02 17:58:40 +01:00
Paolo Tranquilli
c0e55a06e7 Merge branch 'main' into redsun82/rust-perf-measures 2024-12-02 15:20:42 +01:00
Paolo Tranquilli
b57a37479b Rust: make File usable in codegen 2024-12-02 15:15:46 +01:00
Simon Friis Vindum
e1c65aae90 Rust: Tuple writes target post update node 2024-12-02 14:48:20 +01:00
Paolo Tranquilli
43eba85589 Merge branch 'main' into redsun82/rust-tweaks 2024-12-02 14:48:03 +01:00
Simon Friis Vindum
3420f1f43f Address review comments, store step for tuple indexing 2024-12-02 13:27:26 +01:00
Simon Friis Vindum
10be890cab Merge pull request #18144 from paldepind/rust-df-inconsistency-no-location
Rust: Exclude data flow inconsistencies that stem from other inconsis…
2024-12-02 10:48:51 +01:00
Paolo Tranquilli
e7ffddd52c Rust: rename all *Type to *TypeRef 2024-12-02 10:13:05 +01:00
Paolo Tranquilli
99bd75c429 Rust: expand Ty in documentation 2024-12-02 09:51:15 +01:00
Paolo Tranquilli
5d3c9d050d Rust: expand Pat in documentation 2024-12-02 09:48:10 +01:00
Paolo Tranquilli
6a8188f8eb Rust: fix QL compilation errors after merge from main 2024-12-02 08:30:16 +01:00
Paolo Tranquilli
31775e21b7 Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-02 08:27:05 +01:00
Geoffrey White
fbf7e0584f Merge pull request #18129 from geoffw0/sinkmodels
Rust: Sink models for rust/sql-injection
2024-11-29 19:11:27 +00:00
Paolo Tranquilli
c46f44da5f Rust: fix QL compilation errors 2024-11-29 15:55:51 +01:00
Paolo Tranquilli
9cf2420c3b Rust: restrict canonical path calculations 2024-11-29 14:43:51 +01:00
Paolo Tranquilli
4bcc4254c6 Merge branch 'main' into redsun82/rust-perf-measures 2024-11-29 11:59:22 +01:00
Simon Friis Vindum
b8d60cbb13 Rust: Implement predicates for lambdas/closures in the data flow library 2024-11-29 09:32:04 +01:00
Geoffrey White
5b50a8270d Rust: Clarify the doc on the two models a little. 2024-11-28 14:11:15 +00:00
Geoffrey White
1d0338444a Rust: Fix SqlExecute. 2024-11-28 14:11:14 +00:00
Simon Friis Vindum
b05d290bf0 Rust: Exclude data flow inconsistencies that stem from other inconsistencies 2024-11-28 12:46:32 +01:00
Paolo Tranquilli
50c917d2eb Rust: restrict extracted files queries 2024-11-28 12:02:57 +01:00
Simon Friis Vindum
e8ddb6b180 Rust: Add getStaticTarget to CallExprBase 2024-11-28 10:57:07 +01:00
Paolo Tranquilli
a8188598b0 Merge branch 'main' into redsun82/rust-canonical-enum 2024-11-27 15:01:47 +01:00
Paolo Tranquilli
4e7115538b Rust: move steps breakdown from JSON diagnostics to the DB 2024-11-27 14:55:46 +01:00
Simon Friis Vindum
d89678f49f Rust: Data flow through tuple and struct fields 2024-11-27 14:53:01 +01:00
Geoffrey White
60c212bb10 Rust: Update for changes on main. 2024-11-27 10:42:24 +00:00