@@ -1440,13 +1440,12 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
14401440
14411441 pragma [ nomagic]
14421442 private predicate flowThroughOutOfCall (
1443- DataFlowCall call , CcCall ccc , RetNodeEx ret , NodeEx out , boolean allowsFieldFlow
1443+ DataFlowCall call , RetNodeEx ret , NodeEx out , boolean allowsFieldFlow
14441444 ) {
14451445 exists ( ReturnKindExt kind |
14461446 PrevStage:: callEdgeReturn ( call , _, ret , kind , out , allowsFieldFlow ) and
14471447 PrevStage:: callMayFlowThroughRev ( call ) and
1448- PrevStage:: returnMayFlowThrough ( ret , kind ) and
1449- matchesCall ( ccc , call )
1448+ PrevStage:: returnMayFlowThrough ( ret , kind )
14501449 )
14511450 }
14521451
@@ -1568,9 +1567,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
15681567 apa = getApprox ( ap )
15691568 or
15701569 // flow through a callable
1571- exists ( DataFlowCall call , CcCall ccc , RetNodeEx ret , boolean allowsFieldFlow |
1572- fwdFlowThrough ( call , cc , state , ccc , summaryCtx , t , ap , stored , ret ) and
1573- flowThroughOutOfCall ( call , ccc , ret , node , allowsFieldFlow ) and
1570+ exists ( DataFlowCall call , RetNodeEx ret , boolean allowsFieldFlow |
1571+ fwdFlowThrough ( call , cc , state , summaryCtx , t , ap , stored , ret ) and
1572+ flowThroughOutOfCall ( call , ret , node , allowsFieldFlow ) and
15741573 apa = getApprox ( ap ) and
15751574 not inBarrier ( node , state ) and
15761575 if allowsFieldFlow = false then ap instanceof ApNil else any ( )
@@ -2098,10 +2097,10 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
20982097
20992098 pragma [ nomagic]
21002099 private predicate fwdFlowThrough (
2101- DataFlowCall call , Cc cc , FlowState state , CcCall ccc , SummaryCtx summaryCtx , Typ t ,
2102- Ap ap , TypOption stored , RetNodeEx ret
2100+ DataFlowCall call , Cc cc , FlowState state , SummaryCtx summaryCtx , Typ t , Ap ap ,
2101+ TypOption stored , RetNodeEx ret
21032102 ) {
2104- fwdFlowThrough0 ( call , _, cc , state , ccc , summaryCtx , t , ap , stored , ret , _)
2103+ fwdFlowThrough0 ( call , _, cc , state , _ , summaryCtx , t , ap , stored , ret , _)
21052104 }
21062105
21072106 pragma [ nomagic]
@@ -2156,7 +2155,7 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
21562155 exists ( DataFlowCall call , boolean allowsFieldFlow |
21572156 returnFlowsThrough0 ( call , state , ccc , ap , ret ,
21582157 TSummaryCtxSome ( p , _, argT , argAp , argStored ) ) and
2159- flowThroughOutOfCall ( call , ccc , ret , _, allowsFieldFlow ) and
2158+ flowThroughOutOfCall ( call , ret , _, allowsFieldFlow ) and
21602159 pos = ret .getReturnPosition ( ) and
21612160 if allowsFieldFlow = false then ap instanceof ApNil else any ( )
21622161 )
@@ -3155,12 +3154,11 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
31553154 pragma [ nomagic]
31563155 private predicate fwdFlowThroughStep1 (
31573156 PathNodeImpl pn1 , PathNodeImpl pn2 , PathNodeImpl pn3 , DataFlowCall call , Cc cc ,
3158- FlowState state , CcCall ccc , SummaryCtx summaryCtx , Typ t , Ap ap , TypOption stored ,
3159- RetNodeEx ret
3157+ FlowState state , SummaryCtx summaryCtx , Typ t , Ap ap , TypOption stored , RetNodeEx ret
31603158 ) {
31613159 exists (
31623160 FlowState state0 , ArgNodeEx arg , SummaryCtxSome innerSummaryCtx , ParamNodeEx p ,
3163- Typ innerArgT , Ap innerArgAp , TypOption innerArgStored
3161+ Typ innerArgT , Ap innerArgAp , TypOption innerArgStored , CcCall ccc
31643162 |
31653163 fwdFlowThroughStep0 ( call , arg , cc , state , ccc , summaryCtx , t , ap , stored , ret ,
31663164 innerSummaryCtx ) and
@@ -3178,10 +3176,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
31783176 PathNodeImpl pn1 , PathNodeImpl pn2 , PathNodeImpl pn3 , NodeEx node , Cc cc ,
31793177 FlowState state , SummaryCtx summaryCtx , Typ t , Ap ap , TypOption stored
31803178 ) {
3181- exists ( DataFlowCall call , CcCall ccc , RetNodeEx ret , boolean allowsFieldFlow |
3182- fwdFlowThroughStep1 ( pn1 , pn2 , pn3 , call , cc , state , ccc , summaryCtx , t , ap , stored ,
3183- ret ) and
3184- flowThroughOutOfCall ( call , ccc , ret , node , allowsFieldFlow ) and
3179+ exists ( DataFlowCall call , RetNodeEx ret , boolean allowsFieldFlow |
3180+ fwdFlowThroughStep1 ( pn1 , pn2 , pn3 , call , cc , state , summaryCtx , t , ap , stored , ret ) and
3181+ flowThroughOutOfCall ( call , ret , node , allowsFieldFlow ) and
31853182 not inBarrier ( node , state ) and
31863183 if allowsFieldFlow = false then ap instanceof ApNil else any ( )
31873184 )
0 commit comments