Skip to content

Commit 414ae76

Browse files
committed
Ruby: Add another splat flow test
1 parent c615f18 commit 414ae76

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

ruby/ql/test/library-tests/dataflow/params/params-flow.expected

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ edges
116116
| params_flow.rb:131:11:131:14 | args [element 0] | params_flow.rb:131:10:131:14 | * ... [element 0] |
117117
| params_flow.rb:131:11:131:14 | args [element 1] | params_flow.rb:131:10:131:14 | * ... [element 1] |
118118
| params_flow.rb:131:17:131:25 | call to taint | params_flow.rb:83:17:83:17 | u |
119+
| params_flow.rb:133:14:133:18 | *args [element 1] | params_flow.rb:134:10:134:13 | args [element 1] |
120+
| params_flow.rb:134:10:134:13 | args [element 1] | params_flow.rb:134:10:134:16 | ...[...] |
121+
| params_flow.rb:137:10:137:43 | * ... [element 1] | params_flow.rb:133:14:133:18 | *args [element 1] |
122+
| params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:137:10:137:43 | * ... [element 1] |
119123
nodes
120124
| params_flow.rb:9:16:9:17 | p1 | semmle.label | p1 |
121125
| params_flow.rb:9:20:9:21 | p2 | semmle.label | p2 |
@@ -253,6 +257,11 @@ nodes
253257
| params_flow.rb:131:11:131:14 | args [element 0] | semmle.label | args [element 0] |
254258
| params_flow.rb:131:11:131:14 | args [element 1] | semmle.label | args [element 1] |
255259
| params_flow.rb:131:17:131:25 | call to taint | semmle.label | call to taint |
260+
| params_flow.rb:133:14:133:18 | *args [element 1] | semmle.label | *args [element 1] |
261+
| params_flow.rb:134:10:134:13 | args [element 1] | semmle.label | args [element 1] |
262+
| params_flow.rb:134:10:134:16 | ...[...] | semmle.label | ...[...] |
263+
| params_flow.rb:137:10:137:43 | * ... [element 1] | semmle.label | * ... [element 1] |
264+
| params_flow.rb:137:23:137:31 | call to taint | semmle.label | call to taint |
256265
subpaths
257266
#select
258267
| params_flow.rb:10:10:10:11 | p1 | params_flow.rb:14:12:14:19 | call to taint | params_flow.rb:10:10:10:11 | p1 | $@ | params_flow.rb:14:12:14:19 | call to taint | call to taint |
@@ -304,3 +313,4 @@ subpaths
304313
| params_flow.rb:109:10:109:10 | a | params_flow.rb:114:33:114:41 | call to taint | params_flow.rb:109:10:109:10 | a | $@ | params_flow.rb:114:33:114:41 | call to taint | call to taint |
305314
| params_flow.rb:110:10:110:13 | ...[...] | params_flow.rb:114:44:114:52 | call to taint | params_flow.rb:110:10:110:13 | ...[...] | $@ | params_flow.rb:114:44:114:52 | call to taint | call to taint |
306315
| params_flow.rb:111:10:111:10 | c | params_flow.rb:114:58:114:66 | call to taint | params_flow.rb:111:10:111:10 | c | $@ | params_flow.rb:114:58:114:66 | call to taint | call to taint |
316+
| params_flow.rb:134:10:134:16 | ...[...] | params_flow.rb:137:23:137:31 | call to taint | params_flow.rb:134:10:134:16 | ...[...] | $@ | params_flow.rb:137:23:137:31 | call to taint | call to taint |

ruby/ql/test/library-tests/dataflow/params/params_flow.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,9 @@ def destruct((a,b), (c,(d,e)))
129129

130130
args = [taint(66), taint(67)]
131131
pos_many(*args, taint(68), nil, nil, nil, nil)
132+
133+
def splatall(*args)
134+
sink args[1] # $ hasValueFlow=70
135+
end
136+
137+
splatall(*[taint(69), taint(70), taint(71)])

0 commit comments

Comments
 (0)