@@ -3394,17 +3394,27 @@ private Configuration unbindConf(Configuration conf) {
3394
3394
exists ( Configuration c | result = pragma [ only_bind_into ] ( c ) and conf = pragma [ only_bind_into ] ( c ) )
3395
3395
}
3396
3396
3397
- private predicate nodeMayUseSummary (
3398
- NodeEx n , FlowState state , AccessPathApprox apa , Configuration config
3397
+ pragma [ nomagic]
3398
+ private predicate nodeMayUseSummary0 (
3399
+ NodeEx n , DataFlowCallable c , FlowState state , AccessPathApprox apa , Configuration config
3399
3400
) {
3400
- exists ( DataFlowCallable c , AccessPathApprox apa0 |
3401
- Stage4:: parameterMayFlowThrough ( _, c , apa , _) and
3401
+ exists ( AccessPathApprox apa0 |
3402
+ Stage4:: parameterMayFlowThrough ( _, c , _ , _) and
3402
3403
Stage4:: revFlow ( n , state , true , _, apa0 , config ) and
3403
3404
Stage4:: fwdFlow ( n , state , any ( CallContextCall ccc ) , TAccessPathApproxSome ( apa ) , apa0 , config ) and
3404
3405
n .getEnclosingCallable ( ) = c
3405
3406
)
3406
3407
}
3407
3408
3409
+ private predicate nodeMayUseSummary (
3410
+ NodeEx n , FlowState state , AccessPathApprox apa , Configuration config
3411
+ ) {
3412
+ exists ( DataFlowCallable c |
3413
+ Stage4:: parameterMayFlowThrough ( _, c , apa , _) and
3414
+ nodeMayUseSummary0 ( n , c , state , apa , config )
3415
+ )
3416
+ }
3417
+
3408
3418
private newtype TSummaryCtx =
3409
3419
TSummaryCtxNone ( ) or
3410
3420
TSummaryCtxSome ( ParamNodeEx p , FlowState state , AccessPath ap ) {
0 commit comments