File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed
csharp/ql/src/semmle/code/csharp/dataflow/internal Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -765,7 +765,7 @@ private module Stage2 {
765
765
bindingset [ result , ap]
766
766
private ApApprox getApprox ( Ap ap ) { any ( ) }
767
767
768
- private ApNil getApNil ( Node node ) { any ( ) }
768
+ private Ap getApNil ( Node node ) { PrevStage :: revFlow ( node , _ ) and result instanceof ApNil }
769
769
770
770
bindingset [ tc, tail]
771
771
private Ap apCons ( TypedContent tc , Ap tail ) { result = true and exists ( tc ) and exists ( tail ) }
@@ -1384,7 +1384,9 @@ private module Stage3 {
1384
1384
1385
1385
private ApApprox getApprox ( Ap ap ) { result = ap .toBoolNonEmpty ( ) }
1386
1386
1387
- private ApNil getApNil ( Node node ) { result = TFrontNil ( getNodeType ( node ) ) }
1387
+ private ApNil getApNil ( Node node ) {
1388
+ PrevStage:: revFlow ( node , _) and result = TFrontNil ( getNodeType ( node ) )
1389
+ }
1388
1390
1389
1391
bindingset [ tc, tail]
1390
1392
private Ap apCons ( TypedContent tc , Ap tail ) { result .getHead ( ) = tc and exists ( tail ) }
@@ -2077,7 +2079,9 @@ private module Stage4 {
2077
2079
2078
2080
private ApApprox getApprox ( Ap ap ) { result = ap .getFront ( ) }
2079
2081
2080
- private ApNil getApNil ( Node node ) { result = TNil ( getNodeType ( node ) ) }
2082
+ private ApNil getApNil ( Node node ) {
2083
+ PrevStage:: revFlow ( node , _) and result = TNil ( getNodeType ( node ) )
2084
+ }
2081
2085
2082
2086
bindingset [ tc, tail]
2083
2087
private Ap apCons ( TypedContent tc , Ap tail ) { result = push ( tc , tail ) }
You can’t perform that action at this time.
0 commit comments