@@ -428,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config
428
428
exists ( Node n1 , Node n2 |
429
429
node1 .asNode ( ) = n1 and
430
430
node2 .asNode ( ) = n2 and
431
- simpleLocalFlowStepExt ( n1 , n2 ) and
431
+ simpleLocalFlowStepExt ( pragma [ only_bind_into ] ( n1 ) , pragma [ only_bind_into ] ( n2 ) ) and
432
432
stepFilter ( node1 , node2 , config )
433
433
)
434
434
or
@@ -447,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat
447
447
exists ( Node n1 , Node n2 |
448
448
node1 .asNode ( ) = n1 and
449
449
node2 .asNode ( ) = n2 and
450
- config .isAdditionalFlowStep ( n1 , n2 ) and
450
+ config .isAdditionalFlowStep ( pragma [ only_bind_into ] ( n1 ) , pragma [ only_bind_into ] ( n2 ) ) and
451
451
getNodeEnclosingCallable ( n1 ) = getNodeEnclosingCallable ( n2 ) and
452
452
stepFilter ( node1 , node2 , config )
453
453
)
@@ -466,7 +466,7 @@ private predicate additionalLocalStateStep(
466
466
exists ( Node n1 , Node n2 |
467
467
node1 .asNode ( ) = n1 and
468
468
node2 .asNode ( ) = n2 and
469
- config .isAdditionalFlowStep ( n1 , s1 , n2 , s2 ) and
469
+ config .isAdditionalFlowStep ( pragma [ only_bind_into ] ( n1 ) , s1 , pragma [ only_bind_into ] ( n2 ) , s2 ) and
470
470
getNodeEnclosingCallable ( n1 ) = getNodeEnclosingCallable ( n2 ) and
471
471
stepFilter ( node1 , node2 , config ) and
472
472
not stateBarrier ( node1 , s1 , config ) and
@@ -481,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) {
481
481
exists ( Node n1 , Node n2 |
482
482
node1 .asNode ( ) = n1 and
483
483
node2 .asNode ( ) = n2 and
484
- jumpStepCached ( n1 , n2 ) and
484
+ jumpStepCached ( pragma [ only_bind_into ] ( n1 ) , pragma [ only_bind_into ] ( n2 ) ) and
485
485
stepFilter ( node1 , node2 , config ) and
486
486
not config .getAFeature ( ) instanceof FeatureEqualSourceSinkCallContext
487
487
)
@@ -494,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c
494
494
exists ( Node n1 , Node n2 |
495
495
node1 .asNode ( ) = n1 and
496
496
node2 .asNode ( ) = n2 and
497
- config .isAdditionalFlowStep ( n1 , n2 ) and
497
+ config .isAdditionalFlowStep ( pragma [ only_bind_into ] ( n1 ) , pragma [ only_bind_into ] ( n2 ) ) and
498
498
getNodeEnclosingCallable ( n1 ) != getNodeEnclosingCallable ( n2 ) and
499
499
stepFilter ( node1 , node2 , config ) and
500
500
not config .getAFeature ( ) instanceof FeatureEqualSourceSinkCallContext
@@ -507,7 +507,7 @@ private predicate additionalJumpStateStep(
507
507
exists ( Node n1 , Node n2 |
508
508
node1 .asNode ( ) = n1 and
509
509
node2 .asNode ( ) = n2 and
510
- config .isAdditionalFlowStep ( n1 , s1 , n2 , s2 ) and
510
+ config .isAdditionalFlowStep ( pragma [ only_bind_into ] ( n1 ) , s1 , pragma [ only_bind_into ] ( n2 ) , s2 ) and
511
511
getNodeEnclosingCallable ( n1 ) != getNodeEnclosingCallable ( n2 ) and
512
512
stepFilter ( node1 , node2 , config ) and
513
513
not stateBarrier ( node1 , s1 , config ) and
@@ -518,7 +518,7 @@ private predicate additionalJumpStateStep(
518
518
519
519
pragma [ nomagic]
520
520
private predicate readSet ( NodeEx node1 , ContentSet c , NodeEx node2 , Configuration config ) {
521
- readSet ( node1 .asNode ( ) , c , node2 .asNode ( ) ) and
521
+ readSet ( pragma [ only_bind_into ] ( node1 .asNode ( ) ) , c , pragma [ only_bind_into ] ( node2 .asNode ( ) ) ) and
522
522
stepFilter ( node1 , node2 , config )
523
523
or
524
524
exists ( Node n |
@@ -562,7 +562,7 @@ pragma[nomagic]
562
562
private predicate store (
563
563
NodeEx node1 , TypedContent tc , NodeEx node2 , DataFlowType contentType , Configuration config
564
564
) {
565
- store ( node1 .asNode ( ) , tc , node2 .asNode ( ) , contentType ) and
565
+ store ( pragma [ only_bind_into ] ( node1 .asNode ( ) ) , tc , pragma [ only_bind_into ] ( node2 .asNode ( ) ) , contentType ) and
566
566
read ( _, tc .getContent ( ) , _, config ) and
567
567
stepFilter ( node1 , node2 , config )
568
568
}
0 commit comments