@@ -385,7 +385,7 @@ private module Stage1 {
385
385
*/
386
386
pragma [ nomagic]
387
387
private predicate fwdFlowIsEntered ( DataFlowCall call , Cc cc , Configuration config ) {
388
- exists ( ArgumentNode arg |
388
+ exists ( ArgumentNodeExt arg |
389
389
fwdFlow ( arg , cc , config ) and
390
390
viableParamArg ( call , _, arg )
391
391
)
@@ -512,15 +512,15 @@ private module Stage1 {
512
512
513
513
pragma [ nomagic]
514
514
predicate viableParamArgNodeCandFwd1 (
515
- DataFlowCall call , ParameterNode p , ArgumentNode arg , Configuration config
515
+ DataFlowCall call , ParameterNode p , ArgumentNodeExt arg , Configuration config
516
516
) {
517
517
viableParamArg ( call , p , arg ) and
518
518
fwdFlow ( arg , config )
519
519
}
520
520
521
521
pragma [ nomagic]
522
522
private predicate revFlowIn (
523
- DataFlowCall call , ArgumentNode arg , boolean toReturn , Configuration config
523
+ DataFlowCall call , ArgumentNodeExt arg , boolean toReturn , Configuration config
524
524
) {
525
525
exists ( ParameterNode p |
526
526
revFlow ( p , toReturn , config ) and
@@ -529,7 +529,7 @@ private module Stage1 {
529
529
}
530
530
531
531
pragma [ nomagic]
532
- private predicate revFlowInToReturn ( DataFlowCall call , ArgumentNode arg , Configuration config ) {
532
+ private predicate revFlowInToReturn ( DataFlowCall call , ArgumentNodeExt arg , Configuration config ) {
533
533
revFlowIn ( call , arg , true , config )
534
534
}
535
535
@@ -660,7 +660,7 @@ private predicate flowOutOfCallNodeCand1(
660
660
661
661
pragma [ nomagic]
662
662
private predicate viableParamArgNodeCand1 (
663
- DataFlowCall call , ParameterNode p , ArgumentNode arg , Configuration config
663
+ DataFlowCall call , ParameterNode p , ArgumentNodeExt arg , Configuration config
664
664
) {
665
665
Stage1:: viableParamArgNodeCandFwd1 ( call , p , arg , config ) and
666
666
Stage1:: revFlow ( arg , config )
@@ -672,7 +672,7 @@ private predicate viableParamArgNodeCand1(
672
672
*/
673
673
pragma [ nomagic]
674
674
private predicate flowIntoCallNodeCand1 (
675
- DataFlowCall call , ArgumentNode arg , ParameterNode p , Configuration config
675
+ DataFlowCall call , ArgumentNodeExt arg , ParameterNode p , Configuration config
676
676
) {
677
677
viableParamArgNodeCand1 ( call , p , arg , config ) and
678
678
Stage1:: revFlow ( p , config ) and
@@ -732,7 +732,7 @@ private predicate flowOutOfCallNodeCand1(
732
732
*/
733
733
pragma [ nomagic]
734
734
private predicate flowIntoCallNodeCand1 (
735
- DataFlowCall call , ArgumentNode arg , ParameterNode p , boolean allowsFieldFlow ,
735
+ DataFlowCall call , ArgumentNodeExt arg , ParameterNode p , boolean allowsFieldFlow ,
736
736
Configuration config
737
737
) {
738
738
flowIntoCallNodeCand1 ( call , arg , p , config ) and
@@ -944,7 +944,7 @@ private module Stage2 {
944
944
DataFlowCall call , ParameterNode p , Cc outercc , Cc innercc , ApOption argAp , Ap ap ,
945
945
Configuration config
946
946
) {
947
- exists ( ArgumentNode arg , boolean allowsFieldFlow |
947
+ exists ( ArgumentNodeExt arg , boolean allowsFieldFlow |
948
948
fwdFlow ( arg , outercc , argAp , ap , config ) and
949
949
flowIntoCall ( call , arg , p , allowsFieldFlow , config ) and
950
950
innercc = getCallContextCall ( call , getNodeEnclosingCallable ( p ) , outercc )
@@ -1130,7 +1130,7 @@ private module Stage2 {
1130
1130
1131
1131
pragma [ nomagic]
1132
1132
private predicate revFlowIn (
1133
- DataFlowCall call , ArgumentNode arg , boolean toReturn , ApOption returnAp , Ap ap ,
1133
+ DataFlowCall call , ArgumentNodeExt arg , boolean toReturn , ApOption returnAp , Ap ap ,
1134
1134
Configuration config
1135
1135
) {
1136
1136
exists ( ParameterNode p , boolean allowsFieldFlow |
@@ -1143,7 +1143,7 @@ private module Stage2 {
1143
1143
1144
1144
pragma [ nomagic]
1145
1145
private predicate revFlowInToReturn (
1146
- DataFlowCall call , ArgumentNode arg , Ap returnAp , Ap ap , Configuration config
1146
+ DataFlowCall call , ArgumentNodeExt arg , Ap returnAp , Ap ap , Configuration config
1147
1147
) {
1148
1148
revFlowIn ( call , arg , true , apSome ( returnAp ) , ap , config )
1149
1149
}
@@ -1242,7 +1242,7 @@ private predicate flowOutOfCallNodeCand2(
1242
1242
1243
1243
pragma [ nomagic]
1244
1244
private predicate flowIntoCallNodeCand2 (
1245
- DataFlowCall call , ArgumentNode node1 , ParameterNode node2 , boolean allowsFieldFlow ,
1245
+ DataFlowCall call , ArgumentNodeExt node1 , ParameterNode node2 , boolean allowsFieldFlow ,
1246
1246
Configuration config
1247
1247
) {
1248
1248
flowIntoCallNodeCand1 ( call , node1 , node2 , allowsFieldFlow , config ) and
@@ -1585,7 +1585,7 @@ private module Stage3 {
1585
1585
DataFlowCall call , ParameterNode p , Cc outercc , Cc innercc , ApOption argAp , Ap ap ,
1586
1586
Configuration config
1587
1587
) {
1588
- exists ( ArgumentNode arg , boolean allowsFieldFlow |
1588
+ exists ( ArgumentNodeExt arg , boolean allowsFieldFlow |
1589
1589
fwdFlow ( arg , outercc , argAp , ap , config ) and
1590
1590
flowIntoCall ( call , arg , p , allowsFieldFlow , config ) and
1591
1591
innercc = getCallContextCall ( call , getNodeEnclosingCallable ( p ) , outercc )
@@ -1771,7 +1771,7 @@ private module Stage3 {
1771
1771
1772
1772
pragma [ nomagic]
1773
1773
private predicate revFlowIn (
1774
- DataFlowCall call , ArgumentNode arg , boolean toReturn , ApOption returnAp , Ap ap ,
1774
+ DataFlowCall call , ArgumentNodeExt arg , boolean toReturn , ApOption returnAp , Ap ap ,
1775
1775
Configuration config
1776
1776
) {
1777
1777
exists ( ParameterNode p , boolean allowsFieldFlow |
@@ -1784,7 +1784,7 @@ private module Stage3 {
1784
1784
1785
1785
pragma [ nomagic]
1786
1786
private predicate revFlowInToReturn (
1787
- DataFlowCall call , ArgumentNode arg , Ap returnAp , Ap ap , Configuration config
1787
+ DataFlowCall call , ArgumentNodeExt arg , Ap returnAp , Ap ap , Configuration config
1788
1788
) {
1789
1789
revFlowIn ( call , arg , true , apSome ( returnAp ) , ap , config )
1790
1790
}
@@ -2154,7 +2154,7 @@ private module Stage4 {
2154
2154
2155
2155
pragma [ nomagic]
2156
2156
private predicate flowIntoCall (
2157
- DataFlowCall call , ArgumentNode node1 , ParameterNode node2 , boolean allowsFieldFlow ,
2157
+ DataFlowCall call , ArgumentNodeExt node1 , ParameterNode node2 , boolean allowsFieldFlow ,
2158
2158
Configuration config
2159
2159
) {
2160
2160
flowIntoCallNodeCand2 ( call , node1 , node2 , allowsFieldFlow , config ) and
@@ -2302,7 +2302,7 @@ private module Stage4 {
2302
2302
DataFlowCall call , ParameterNode p , Cc outercc , Cc innercc , ApOption argAp , Ap ap ,
2303
2303
Configuration config
2304
2304
) {
2305
- exists ( ArgumentNode arg , boolean allowsFieldFlow |
2305
+ exists ( ArgumentNodeExt arg , boolean allowsFieldFlow |
2306
2306
fwdFlow ( arg , outercc , argAp , ap , config ) and
2307
2307
flowIntoCall ( call , arg , p , allowsFieldFlow , config ) and
2308
2308
innercc = getCallContextCall ( call , getNodeEnclosingCallable ( p ) , outercc )
@@ -2488,7 +2488,7 @@ private module Stage4 {
2488
2488
2489
2489
pragma [ nomagic]
2490
2490
private predicate revFlowIn (
2491
- DataFlowCall call , ArgumentNode arg , boolean toReturn , ApOption returnAp , Ap ap ,
2491
+ DataFlowCall call , ArgumentNodeExt arg , boolean toReturn , ApOption returnAp , Ap ap ,
2492
2492
Configuration config
2493
2493
) {
2494
2494
exists ( ParameterNode p , boolean allowsFieldFlow |
@@ -2501,7 +2501,7 @@ private module Stage4 {
2501
2501
2502
2502
pragma [ nomagic]
2503
2503
private predicate revFlowInToReturn (
2504
- DataFlowCall call , ArgumentNode arg , Ap returnAp , Ap ap , Configuration config
2504
+ DataFlowCall call , ArgumentNodeExt arg , Ap returnAp , Ap ap , Configuration config
2505
2505
) {
2506
2506
revFlowIn ( call , arg , true , apSome ( returnAp ) , ap , config )
2507
2507
}
@@ -3234,7 +3234,7 @@ pragma[noinline]
3234
3234
private predicate pathIntoArg (
3235
3235
PathNodeMid mid , int i , CallContext cc , DataFlowCall call , AccessPath ap , AccessPathApprox apa
3236
3236
) {
3237
- exists ( ArgumentNode arg |
3237
+ exists ( ArgumentNodeExt arg |
3238
3238
arg = mid .getNode ( ) and
3239
3239
cc = mid .getCallContext ( ) and
3240
3240
arg .argumentOf ( call , i ) and
@@ -3923,7 +3923,7 @@ private module FlowExploration {
3923
3923
PartialPathNodeFwd mid , int i , CallContext cc , DataFlowCall call , PartialAccessPath ap ,
3924
3924
Configuration config
3925
3925
) {
3926
- exists ( ArgumentNode arg |
3926
+ exists ( ArgumentNodeExt arg |
3927
3927
arg = mid .getNode ( ) and
3928
3928
cc = mid .getCallContext ( ) and
3929
3929
arg .argumentOf ( call , i ) and
@@ -4137,7 +4137,7 @@ private module FlowExploration {
4137
4137
4138
4138
pragma [ nomagic]
4139
4139
private predicate revPartialPathThroughCallable (
4140
- PartialPathNodeRev mid , ArgumentNode node , RevPartialAccessPath ap , Configuration config
4140
+ PartialPathNodeRev mid , ArgumentNodeExt node , RevPartialAccessPath ap , Configuration config
4141
4141
) {
4142
4142
exists ( DataFlowCall call , int pos |
4143
4143
revPartialPathThroughCallable0 ( call , mid , pos , ap , config ) and
0 commit comments