@@ -3394,17 +3394,27 @@ private Configuration unbindConf(Configuration conf) {
33943394 exists ( Configuration c | result = pragma [ only_bind_into ] ( c ) and conf = pragma [ only_bind_into ] ( c ) )
33953395}
33963396
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
33993400) {
3400- exists ( DataFlowCallable c , AccessPathApprox apa0 |
3401- Stage4:: parameterMayFlowThrough ( _, c , apa , _) and
3401+ exists ( AccessPathApprox apa0 |
3402+ Stage4:: parameterMayFlowThrough ( _, c , _ , _) and
34023403 Stage4:: revFlow ( n , state , true , _, apa0 , config ) and
34033404 Stage4:: fwdFlow ( n , state , any ( CallContextCall ccc ) , TAccessPathApproxSome ( apa ) , apa0 , config ) and
34043405 n .getEnclosingCallable ( ) = c
34053406 )
34063407}
34073408
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+
34083418private newtype TSummaryCtx =
34093419 TSummaryCtxNone ( ) or
34103420 TSummaryCtxSome ( ParamNodeEx p , FlowState state , AccessPath ap ) {
0 commit comments