@@ -2186,11 +2186,11 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2186
2186
2187
2187
pragma [ nomagic]
2188
2188
private predicate flowThroughIntoCall (
2189
- DataFlowCall call , ArgNodeEx arg , ParamNodeEx p , Ap argAp , Ap ap
2189
+ DataFlowCall call , ArgNodeEx arg , ParamNodeEx p , Ap argAp
2190
2190
) {
2191
2191
exists ( Typ argT , TypOption argStored |
2192
2192
returnFlowsThrough ( _, _, _, _, pragma [ only_bind_into ] ( p ) , pragma [ only_bind_into ] ( argT ) ,
2193
- pragma [ only_bind_into ] ( argAp ) , pragma [ only_bind_into ] ( argStored ) , ap ) and
2193
+ pragma [ only_bind_into ] ( argAp ) , pragma [ only_bind_into ] ( argStored ) , _ ) and
2194
2194
flowIntoCallTaken ( call , _, pragma [ only_bind_into ] ( arg ) , p , isNil ( argAp ) ) and
2195
2195
fwdFlow ( arg , _, _, _, pragma [ only_bind_into ] ( argT ) , pragma [ only_bind_into ] ( argAp ) ,
2196
2196
pragma [ only_bind_into ] ( argStored ) )
@@ -2284,9 +2284,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2284
2284
returnAp = apNone ( )
2285
2285
or
2286
2286
// flow through a callable
2287
- exists ( DataFlowCall call , ParamNodeEx p , Ap innerReturnAp |
2288
- revFlowThrough ( call , returnCtx , p , state , _ , returnAp , ap , innerReturnAp ) and
2289
- flowThroughIntoCall ( call , node , p , ap , innerReturnAp )
2287
+ exists ( DataFlowCall call , ParamNodeEx p |
2288
+ revFlowThrough ( call , returnCtx , p , state , returnAp , ap ) and
2289
+ flowThroughIntoCall ( call , node , p , ap )
2290
2290
)
2291
2291
or
2292
2292
// flow out of a callable
@@ -2436,11 +2436,13 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2436
2436
2437
2437
pragma [ nomagic]
2438
2438
private predicate revFlowThrough (
2439
- DataFlowCall call , ReturnCtx returnCtx , ParamNodeEx p , FlowState state ,
2440
- ReturnPosition pos , ApOption returnAp , Ap ap , Ap innerReturnAp
2439
+ DataFlowCall call , ReturnCtx returnCtx , ParamNodeEx p , FlowState state , ApOption returnAp ,
2440
+ Ap ap
2441
2441
) {
2442
- revFlowParamToReturn ( p , state , pos , innerReturnAp , ap ) and
2443
- revFlowIsReturned ( call , returnCtx , returnAp , pos , innerReturnAp )
2442
+ exists ( ReturnPosition pos , Ap innerReturnAp |
2443
+ revFlowParamToReturn ( p , state , pos , innerReturnAp , ap ) and
2444
+ revFlowIsReturned ( call , returnCtx , returnAp , pos , innerReturnAp )
2445
+ )
2444
2446
}
2445
2447
2446
2448
/**
@@ -2566,9 +2568,9 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
2566
2568
DataFlowCall call , ArgNodeEx arg , FlowState state , ReturnCtx returnCtx , ApOption returnAp ,
2567
2569
Ap ap
2568
2570
) {
2569
- exists ( ParamNodeEx p , Ap innerReturnAp |
2570
- revFlowThrough ( call , returnCtx , p , state , _ , returnAp , ap , innerReturnAp ) and
2571
- flowThroughIntoCall ( call , arg , p , ap , innerReturnAp )
2571
+ exists ( ParamNodeEx p |
2572
+ revFlowThrough ( call , returnCtx , p , state , returnAp , ap ) and
2573
+ flowThroughIntoCall ( call , arg , p , ap )
2572
2574
)
2573
2575
}
2574
2576
0 commit comments