Paolo Tranquilli
20128adee4
Swift: make imported and exported modules a set
2023-03-29 15:44:07 +02:00
Jeroen Ketema
0acca2ba76
Merge pull request #12687 from jketema/unit-2
...
Make imports of `codeql.util.Unit` private
2023-03-29 13:07:12 +02:00
Nora Dimitrijević
70ed8c6e8f
Swift: add QLdoc to Pattern
2023-03-29 11:52:50 +02:00
Nora Dimitrijević
3fbf90cbd7
Swift: add ConstructorDecl.isFailable/0
2023-03-29 11:52:50 +02:00
Nora Dimitrijević
55ce9760e1
Merge branch 'main' into swift/case-let-dataflow
2023-03-28 18:20:33 +02:00
Nora Dimitrijević
2a5f29cd0f
Swift: remove getIdentityPreservingEnclosingPattern
...
The Pattern public interface doesn't really need it.
2023-03-28 18:18:32 +02:00
Nora Dimitrijević
94614320b5
Swift: refactor OptionalSomeDecl -> OptionalSomeContentSet
2023-03-28 15:15:16 +02:00
Anders Schack-Mulligen
7c74fd07e9
Merge pull request #12684 from aschackmull/dataflow/remove-footgun
...
Dataflow: Remove accidentally exposed predicates.
2023-03-28 15:14:58 +02:00
Nora Dimitrijević
ea9e8e7ddb
Swift: fix bad join order in Pattern.getImmediateMatchingExpr
...
On Signal-iOS, this snippet:
```codeql
class Pattern extends Generated::Pattern {
...
Expr getImmediateMatchingExpr() {
...
exists(PatternBindingDecl v, int i |
v.getPattern(i) = this and
result = v.getInit(i)
)
...
}
...
}
```
Had the following join order:
```
33926 ~0% {3} r8 = SCAN PatternBindingDecl#ab5153b9::Generated::PatternBindingDecl::getImmediateInit#1#dispred#fff OUTPUT In.1, In.0, In.2
2565045964 ~0% {4} r9 = JOIN r8 WITH pattern_binding_decl_patterns_102#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2, Rhs.2
33926 ~0% {2} r10 = JOIN r9 WITH Synth#5f134a93::Synth::convertPatternBindingDeclToRaw#1#ff ON FIRST 2 OUTPUT Lhs.3, Lhs.2
33926 ~2% {2} r11 = JOIN r10 WITH Synth#5f134a93::Synth::convertPatternFromRaw#1#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
33926 ~1% {2} r12 = JOIN r11 WITH Element#e67432df::Generated::Element::resolve#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
33926 ~4% {2} r13 = JOIN r12 WITH Element#e67432df::Generated::Element::resolve#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
```
After applying `pragma[only_bind_out]` to `this`:
```
198815 ~1% {2} r4 = SCAN Synth#5f134a93::Synth::TPattern#f OUTPUT In.0, In.0
198815 ~0% {2} r5 = JOIN r4 WITH Element#e67432df::Generated::Element::resolve#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
75626 ~0% {3} r6 = JOIN r5 WITH PatternBindingDecl#ab5153b9::Generated::PatternBindingDecl::getImmediatePattern#1#dispred#fff_201#join_rhs ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1
33926 ~1% {2} r7 = JOIN r6 WITH PatternBindingDecl#ab5153b9::Generated::PatternBindingDecl::getImmediateInit#1#dispred#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.2
33926 ~4% {2} r8 = JOIN r7 WITH Element#e67432df::Generated::Element::resolve#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
```
2023-03-28 14:57:05 +02:00
Jeroen Ketema
3b8ad087eb
Make imports of codeql.util.Unit private
2023-03-28 14:14:13 +02:00
Anders Schack-Mulligen
d406b051fc
Dataflow: Remove accidentally exposed predicates.
2023-03-28 10:04:21 +02:00
Nora Dimitrijević
239e14b71a
Swift: fix QLdoc check for EnumElementExpr.qll
2023-03-27 23:48:37 +02:00
Nora Dimitrijević
41b283c07c
Swift: add .some enum content to init? calls
...
Again, this is hacky; we don't distinguish rigorously between an
optional value and its content (similar to how it was before enum
content flow).
2023-03-27 23:01:25 +02:00
Nora Dimitrijević
03122d76ce
Swift: fix a bunch of MISSING dataflow test cases
...
Optional content flow through constructors remains.
2023-03-27 23:01:25 +02:00
Nora Dimitrijević
6a127264af
Swift: distinguish between Pattern.get(Immediate)IdentityPreservingEnclosingPattern
2023-03-27 23:01:25 +02:00
Nora Dimitrijević
7dc793855b
Swift: introduce Node.asPattern()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
a715ebe826
Swift: distinguish Pattern.get(Immediate)EnclosingPattern
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
9353549629
Swift: fixes responding to comments
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
052a008926
Swift: Content-based dataflow through case let
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
5c795632db
Swift: add Pattern.getEnclosingPattern()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
c2e9ffab63
Swift: add EnumElementExpr + Pattern.getMatchingExpr()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
5419e65e01
Swift: add NamedPattern.getVarDecl()
2023-03-27 23:01:24 +02:00
Nora Dimitrijević
feb8243d5f
Swift: move BindingPattern to the hidden AST
2023-03-27 23:01:24 +02:00
Geoffrey White
28998ccafe
Merge pull request #12471 from geoffw0/dbsinks2
...
Swift: Better sinks for swift/cleartext-storage-database
2023-03-27 12:51:13 +01:00
Jeroen Ketema
977f15f8a4
Merge pull request #12649 from jketema/unit
...
Replace all definitions of `Unit` by `import codeql.util.Unit`
2023-03-27 08:49:50 +02:00
Geoffrey White
c158f8331a
Swift: Fix regression.
2023-03-24 14:04:10 +00:00
Anders Schack-Mulligen
85511ba19d
Dataflow: Sync
2023-03-24 12:42:06 +01:00
Jeroen Ketema
a87a9438c7
Replace all definitions of Unit by import codeql.util.Unit
2023-03-24 10:39:34 +01:00
Anders Schack-Mulligen
9d88f01c82
Merge pull request #12645 from aschackmull/dataflow/renaming
...
Dataflow: Rename Make to Global and hasFlow to flow
2023-03-24 08:48:31 +01:00
Anders Schack-Mulligen
d440bc2d0c
Dataflow: Sync.
2023-03-23 13:40:23 +01:00
Anders Schack-Mulligen
2761aa73ca
Dataflow: Sync.
2023-03-23 13:06:19 +01:00
Geoffrey White
de5cf84bd5
Swift: Address check failures.
2023-03-23 11:08:49 +00:00
Geoffrey White
a5bb93402c
Swift: Replace sources with (extendable) CSV.
2023-03-23 10:52:58 +00:00
Geoffrey White
e266132f0a
Swift: Replace sinks with (extendable) CSV.
2023-03-23 10:45:29 +00:00
Geoffrey White
4c0d02a87d
Swift: Standardize the sources, sinks etc.
2023-03-23 10:39:03 +00:00
Geoffrey White
dfcad7fa84
Swift: Split the query into the usual three files.
2023-03-23 10:39:03 +00:00
Kasper Svendsen
ce6be1f636
Dataflow: Instantiate stage 1 access paths with proper unit type
2023-03-23 08:32:16 +01:00
Anders Schack-Mulligen
b2d436ccc1
Merge pull request #12533 from aschackmull/java/misc-perf
...
Java/dataflow: Misc performance fixes
2023-03-22 08:39:43 +01:00
Ed Minnix
0408e9dc2d
Fix formatting of TypeDecl.qll
2023-03-21 15:28:16 -04:00
Geoffrey White
6a2a351929
Merge pull request #12619 from geoffw0/fullname
...
Swift: Fix for TypeDecl.getFullName with extensions
2023-03-21 18:02:16 +00:00
Geoffrey White
91c324ea4f
Swift: Fix for getFullName.
2023-03-21 15:11:02 +00:00
Anders Schack-Mulligen
0d6dd7d25a
DataFlow: Sync.
2023-03-21 14:27:25 +01:00
Anders Schack-Mulligen
3876e4335f
Merge pull request #12420 from kaspersv/kaspersv/dataflow-remove-alias-preds
...
Dataflow: Remove revFlowAlias and revFlowApAlias predicates
2023-03-20 16:30:15 +01:00
Michael Nebel
17b3383043
Merge pull request #12556 from michaelnebel/java/argumentthis
...
Java: Argument[-1] -> Argument[this]
2023-03-20 15:59:59 +01:00
Kasper Svendsen
1d2f1b6ae6
Address comments
2023-03-20 13:34:14 +01:00
Kasper Svendsen
e0e3a1d621
Dataflow: remove revFlowApAlias trick
2023-03-20 13:04:13 +01:00
Geoffrey White
166902bfa0
Swift: Remove the special case for bitwise operations in the XXE query (but upgrade that bit of the query to taint flow as appears to be intended).
2023-03-20 11:18:17 +00:00
Michael Nebel
37484a415f
Sync files.
2023-03-20 09:38:40 +01:00
Kasper Svendsen
9630feb5e4
Dataflow: Remove revFlowAlias trick
2023-03-20 09:04:35 +01:00
Paolo Tranquilli
a131966066
Swift: make SuccessfullyExtractedFiles.ql more precise
...
This is done by adding a `isSuccessfullyExtracted` predicate that is
filled for primary files at the very end of the extractor invocation if
the frontend was performed successfully. If for example the extractor
crashes this will therefore not be filled.
The upgrade script is written so that `SuccessfullyExtractedFiles.ql`
on an upgraded script will give exactly the same results as before it.
2023-03-20 08:34:34 +01:00