File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed
ruby/ql/lib/codeql/ruby/dataflow/internal Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -162,12 +162,16 @@ private module SpeculativeTaintFlow {
162
162
predicate speculativeTaintStep ( DataFlow:: Node src , DataFlow:: Node sink ) {
163
163
exists (
164
164
DataFlowDispatch:: DataFlowCall call , MethodCall srcCall ,
165
- DataFlowDispatch:: ArgumentPosition argpos
165
+ DataFlowDispatch:: ArgumentPosition argpos , MethodCall mc
166
166
|
167
167
// TODO: exclude neutrals and anything that has QL modeling.
168
168
not exists ( DataFlowDispatch:: viableCallable ( call ) ) and
169
169
call .asCall ( ) .getExpr ( ) = srcCall and
170
- src .( ArgumentNode ) .argumentOf ( call , argpos )
170
+ src .( ArgumentNode ) .argumentOf ( call , argpos ) and
171
+ call .asCall ( ) .getExpr ( ) = mc and
172
+ not mc instanceof Operation and
173
+ not mc instanceof SetterMethodCall and
174
+ not mc instanceof ElementReference
171
175
|
172
176
not argpos .isSelf ( ) and
173
177
sink .( DataFlowPublic:: PostUpdateNode )
You can’t perform that action at this time.
0 commit comments