File tree Expand file tree Collapse file tree 2 files changed +9
-2
lines changed
csharp/ql/lib/semmle/code/csharp/dataflow/internal Expand file tree Collapse file tree 2 files changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -133,12 +133,14 @@ AssignableDefinitionNode assignableDefinitionNode(AssignableDefinition def) {
133133
134134predicate localFlowStep = localFlowStepImpl / 2 ;
135135
136+ private predicate localFlowStepPlus ( Node source , Node sink ) = fastTC( localFlowStep / 2 ) ( source , sink )
137+
136138/**
137139 * Holds if data flows from `source` to `sink` in zero or more local
138140 * (intra-procedural) steps.
139141 */
140142pragma [ inline]
141- predicate localFlow ( Node source , Node sink ) { localFlowStep * ( source , sink ) }
143+ predicate localFlow ( Node source , Node sink ) { localFlowStepPlus ( source , sink ) or source = sink }
142144
143145/**
144146 * Holds if data can flow from `e1` to `e2` in zero or more
Original file line number Diff line number Diff line change 11private import csharp
22private import TaintTrackingPrivate
33
4+ private predicate localTaintStepPlus ( DataFlow:: Node source , DataFlow:: Node sink ) =
5+ fastTC( localTaintStep / 2 ) ( source , sink )
6+
47/**
58 * Holds if taint propagates from `source` to `sink` in zero or more local
69 * (intra-procedural) steps.
710 */
811pragma [ inline]
9- predicate localTaint ( DataFlow:: Node source , DataFlow:: Node sink ) { localTaintStep * ( source , sink ) }
12+ predicate localTaint ( DataFlow:: Node source , DataFlow:: Node sink ) {
13+ localTaintStepPlus ( source , sink ) or source = sink
14+ }
1015
1116/**
1217 * Holds if taint can flow from `e1` to `e2` in zero or more
You can’t perform that action at this time.
0 commit comments