Tom Hvitved
bd7b2c4cc6
Update expected output
2024-03-05 10:44:13 +01:00
Joe Farebrother
0b7b7ea1b8
Add test cases and improve controller model
2024-03-01 09:57:24 +00:00
Tom Hvitved
914a605a87
Ruby: Rework hidden synthetic data-flow nodes
2024-02-27 15:33:58 +01:00
Tom Hvitved
994d990f37
Ruby: Add another data flow test
2024-02-27 15:33:58 +01:00
Joe Farebrother
386defc3c7
Update test output
2024-02-26 11:21:03 +00:00
Tom Hvitved
23869fc8e6
Ruby: Fix bug in allowParameterReturnInSelf
2024-02-22 09:43:52 +01:00
Tom Hvitved
007d08ea63
Ruby: Add another variable capture test
2024-02-22 09:39:01 +01:00
Tom Hvitved
1ea7717714
Capture flow: Take overwrites in nested scopes into account
2024-02-09 14:49:23 +01:00
Tom Hvitved
0c43ad45b4
Ruby: Add another captured variable data flow test
2024-02-09 14:48:36 +01:00
Anders Schack-Mulligen
35a3aa0a09
Ruby: Add empty provenance column to expected files.
2024-02-09 11:32:08 +01:00
Tom Hvitved
8972133d4b
Merge pull request #15498 from hvitved/ruby/ctx-sensitivity-test
...
Ruby: Add another dataflow test
2024-02-01 12:46:53 +01:00
Tom Hvitved
792f302bd4
Ruby: Add another dataflow test
2024-02-01 10:52:06 +01:00
Harry Maclean
4cfdf8b7a3
Ruby: Add test case for view without ERB template
2024-01-30 20:30:59 +01:00
Tom Hvitved
d2d017dd64
Ruby: Model flow through ViewComponent render methods
2024-01-30 20:30:58 +01:00
Tom Hvitved
817a2b71a8
Add more tests
2024-01-30 20:30:58 +01:00
Harry Maclean
5b3a2b35b7
Update expected file
2024-01-30 20:30:58 +01:00
Harry Maclean
75a37486c9
Add WIP query for erb flow
2024-01-30 20:30:58 +01:00
Harry Maclean
bf3b86b402
Add test for erb flow
2024-01-30 20:30:58 +01:00
Tom Hvitved
2d95ac9d5f
Merge pull request #15468 from hvitved/ruby/ctx-sensitivity-rework
2024-01-30 20:27:43 +01:00
Harry Maclean
f230e618a3
Ruby: Update tests
2024-01-30 09:43:56 +00:00
Tom Hvitved
503d2f7b95
Ruby: Rework mayBenefitFromCallContext
2024-01-30 09:57:29 +01:00
Tom Hvitved
295198744b
Ruby: Handle captured yield calls
2024-01-10 14:25:15 +01:00
Tom Hvitved
55be4c39ef
Ruby: Add data flow call sensitivity test
2024-01-10 14:25:12 +01:00
Tom Hvitved
f90201eb56
Data flow: Remove column from mayBenefitFromCallContext
2024-01-09 11:34:43 +01:00
Tom Hvitved
25a676ac6a
Ruby: Model simple pattern matching as value steps instead of taint steps
2023-12-14 20:18:24 +01:00
Tom Hvitved
0e81577269
Ruby: Use FlowSummaryImpl from dataflow pack
2023-12-10 11:25:43 +01:00
Tom Hvitved
dde83b6415
Merge pull request #14709 from hvitved/ruby/shared-type-tracking
...
Ruby: Adopt shared type tracking library
2023-12-05 20:12:06 +01:00
Tom Hvitved
9eaebfcf60
Merge pull request #14859 from hvitved/ruby/missing-flow-tests
...
Ruby: Add tests illustrating missing flow
2023-11-24 14:57:15 +01:00
Tom Hvitved
8ccce5891d
Ruby: Add tests illustrating missing flow
2023-11-24 14:28:04 +01:00
Harry Maclean
288fbfd2ec
Ruby: Add test for missing block flow
2023-11-22 09:59:55 +00:00
Tom Hvitved
6ce8e0510f
Ruby: Adopt shared type tracking library
2023-11-20 16:03:24 +01:00
Tom Hvitved
b2f1022e5c
Ruby: Prune irrelevant data flow nodes and edges
2023-11-16 13:52:07 +01:00
Tom Hvitved
75f42f4614
Merge pull request #14783 from hvitved/ruby/hash-array-literal
...
Ruby: Include more nodes in `{Hash,Array}LiteralCfgNode`
2023-11-16 13:51:35 +01:00
Tom Hvitved
2c23dacca1
Ruby: Add more hash/array literal tests
2023-11-16 12:58:53 +01:00
Tom Hvitved
475d8da342
Ruby: Include more nodes in {Hash,Array}LiteralCfgNode
2023-11-14 13:50:46 +01:00
Tom Hvitved
f1b67ade9b
Ruby: Include name of variable in UninitializedDefinition.toString
2023-11-14 11:33:59 +01:00
Tom Hvitved
14cfb82a8c
Ruby: Summarized type-tracking stores should target post-update nodes
2023-10-30 10:47:29 +01:00
erik-krogh
57c757c0a6
Ruby: delete outdated deprecation in test code
2023-10-09 09:14:55 +02:00
Tom Hvitved
c570083163
Ruby: Improve performance of flow through (hash) splats
2023-09-27 11:49:31 +02:00
Harry Maclean
dc2acf5a39
Merge pull request #14090 from hmac/splat-flow-4
...
Ruby: More splat flow (alternative)
2023-09-27 10:22:57 +01:00
Tom Hvitved
97ed5b8afb
Ruby: Improvments to splat flow
...
- Only step through a `SynthSplatParameterElementNode` when there is a splat parameter
at index > 0.
- Model read+stores via `SynthSplatArgumentElementNode` as a single read-store
step in type tracking.
2023-09-14 09:26:42 +01:00
Harry Maclean
bf51cbad88
Ruby: Update test fixture
2023-09-14 09:26:38 +01:00
Tom Hvitved
e11a4b63e9
Ruby: Remove SynthSplatArgParameterNode
2023-09-14 09:26:38 +01:00
Harry Maclean
5a6a52b767
Ruby: Use fewer SynthSplatArgumentElementNodes
...
In cases such as
def f(x, *y); end
f(*[1, 2])
we don't need any `SynthSplatArgumentElementNodes`. We get flow from the
splat argument to a `SynthSplatParameterNode` via `parameterMatch`, then
from element 0 of the synth splat to the positional param `x` via a
read step.
We add a read step from element 1 to `SynthSplatParameterElementNode(1)`.
From there we get flow to element 0 of `*y` via an existing store step.
2023-09-14 09:26:38 +01:00
Harry Maclean
4c1beea465
Ruby: Address review comments
2023-09-14 09:26:33 +01:00
Harry Maclean
3c8683428b
Ruby: Model more splat flow (alternative approach)
2023-09-14 08:55:59 +01:00
Harry Maclean
ef63ea8399
Ruby: Update fixture
2023-09-14 08:54:48 +01:00
Harry Maclean
7ebd51163e
Ruby: Handle more splat arg flow
...
Allow flow from a splat argument to a positional parameter in cases
where there are positional arguments left of the splat. For example:
def foo(x, y, z); end
foo(1, *[2, 3])
2023-09-14 08:54:48 +01:00
Tom Hvitved
e258324960
Ruby: Allow for implicit array reads at all sinks during taint tracking
2023-09-14 09:40:05 +02:00
Tom Hvitved
48e2dcfa35
Ruby: Reimplement flow through captured variables using field flow
2023-09-06 11:00:55 +02:00