File tree Expand file tree Collapse file tree 1 file changed +3
-6
lines changed
swift/ql/lib/codeql/swift/dataflow/internal Expand file tree Collapse file tree 1 file changed +3
-6
lines changed Original file line number Diff line number Diff line change @@ -26,17 +26,14 @@ predicate localTaintStep = localTaintStepCached/2;
26
26
* of `c` at sinks and inputs to additional taint steps.
27
27
*/
28
28
bindingset [ node]
29
+ pragma [ inline_late]
29
30
predicate defaultImplicitTaintRead ( DataFlow:: Node node , DataFlow:: ContentSet cs ) {
30
31
// If a `PostUpdateNode` is specified as a sink, there's (almost) always a store step preceding it.
31
32
// So when the node is a `PostUpdateNode` we allow any sequence of implicit read steps of an appropriate
32
33
// type to make sure we arrive at the sink with an empty access path.
33
34
exists ( NominalTypeDecl d , Decl cx |
34
- pragma [ only_bind_out ] ( node )
35
- .( DataFlow:: PostUpdateNode )
36
- .getPreUpdateNode ( )
37
- .asExpr ( )
38
- .getType ( )
39
- .getUnderlyingType ( ) = d .getType ( ) .getABaseType * ( ) and
35
+ node .( DataFlow:: PostUpdateNode ) .getPreUpdateNode ( ) .asExpr ( ) .getType ( ) .getUnderlyingType ( ) =
36
+ d .getType ( ) .getABaseType * ( ) and
40
37
cx .asNominalTypeDecl ( ) = d and
41
38
cs .getAReadContent ( ) .( DataFlow:: Content:: FieldContent ) .getField ( ) = cx .getAMember ( )
42
39
)
You can’t perform that action at this time.
0 commit comments