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 {
162162 predicate speculativeTaintStep ( DataFlow:: Node src , DataFlow:: Node sink ) {
163163 exists (
164164 DataFlowDispatch:: DataFlowCall call , MethodCall srcCall ,
165- DataFlowDispatch:: ArgumentPosition argpos
165+ DataFlowDispatch:: ArgumentPosition argpos , MethodCall mc
166166 |
167167 // TODO: exclude neutrals and anything that has QL modeling.
168168 not exists ( DataFlowDispatch:: viableCallable ( call ) ) and
169169 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
171175 |
172176 not argpos .isSelf ( ) and
173177 sink .( DataFlowPublic:: PostUpdateNode )
You can’t perform that action at this time.
0 commit comments