File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
ruby/ql/test/library-tests/dataflow/call-sensitivity Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 11testFailures
2+ | call_sensitivity.rb:200:10:200:28 | # $ hasValueFlow=37 | Missing result:hasValueFlow=37 |
23edges
34| call_sensitivity.rb:9:7:9:13 | call to taint | call_sensitivity.rb:9:6:9:14 | ( ... ) |
45| call_sensitivity.rb:11:13:11:13 | x | call_sensitivity.rb:12:11:12:11 | x |
@@ -212,6 +213,7 @@ mayBenefitFromCallContext
212213| call_sensitivity.rb:149:5:149:28 | call to singleton_method2 |
213214| call_sensitivity.rb:153:5:153:35 | call to singleton_method3 |
214215| call_sensitivity.rb:175:3:175:12 | call to new |
216+ | call_sensitivity.rb:194:3:196:5 | call to invoke_block1 |
215217viableImplInCallContext
216218| call_sensitivity.rb:51:5:51:10 | call to sink | call_sensitivity.rb:55:5:55:13 | call to method1 | call_sensitivity.rb:5:1:7:3 | sink |
217219| call_sensitivity.rb:51:5:51:10 | call to sink | call_sensitivity.rb:63:5:63:16 | call to method1 | call_sensitivity.rb:5:1:7:3 | sink |
@@ -267,3 +269,5 @@ viableImplInCallContext
267269| call_sensitivity.rb:153:5:153:35 | call to singleton_method3 | call_sensitivity.rb:171:1:171:34 | call to call_singleton_method3 | call_sensitivity.rb:96:3:98:5 | singleton_method3 |
268270| call_sensitivity.rb:175:3:175:12 | call to new | call_sensitivity.rb:178:1:178:20 | call to create | call_sensitivity.rb:104:3:107:5 | initialize |
269271| call_sensitivity.rb:175:3:175:12 | call to new | call_sensitivity.rb:179:1:179:20 | call to create | call_sensitivity.rb:156:3:158:5 | initialize |
272+ | call_sensitivity.rb:194:3:196:5 | call to invoke_block1 | call_sensitivity.rb:199:1:201:3 | call to invoke_block2 | call_sensitivity.rb:189:1:191:3 | invoke_block1 |
273+ | call_sensitivity.rb:194:3:196:5 | call to invoke_block1 | call_sensitivity.rb:203:1:205:3 | call to invoke_block2 | call_sensitivity.rb:189:1:191:3 | invoke_block1 |
Original file line number Diff line number Diff line change @@ -185,3 +185,21 @@ def method1 x
185185end
186186
187187c = C . new ( taint 32 )
188+
189+ def invoke_block1 x
190+ yield x
191+ end
192+
193+ def invoke_block2 x
194+ invoke_block1 x do |x |
195+ yield x
196+ end
197+ end
198+
199+ invoke_block2 ( taint 37 ) do |x |
200+ sink x # $ hasValueFlow=37
201+ end
202+
203+ invoke_block2 "safe" do |x |
204+ sink x
205+ end
You can’t perform that action at this time.
0 commit comments