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