File tree Expand file tree Collapse file tree 4 files changed +20
-1
lines changed
src/semmle/code/csharp/dataflow/internal
test/library-tests/dataflow/local Expand file tree Collapse file tree 4 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -111,7 +111,7 @@ module LocalFlow {
111111 or
112112 // An `=` expression, where the result of the expression is used
113113 e2 = any ( AssignExpr ae |
114- ae .getParent ( ) instanceof Expr and
114+ ae .getParent ( ) = any ( ControlFlowElement cfe | not cfe instanceof ExprStmt ) and
115115 e1 = ae .getRValue ( )
116116 ) and
117117 scope = e2 and
Original file line number Diff line number Diff line change 582582| LocalDataFlow.cs:464:50:464:52 | value | LocalDataFlow.cs:464:64:464:68 | access to parameter value |
583583| LocalDataFlow.cs:470:41:470:47 | tainted | LocalDataFlow.cs:472:15:472:21 | access to parameter tainted |
584584| LocalDataFlow.cs:475:44:475:53 | nonTainted | LocalDataFlow.cs:477:15:477:24 | access to parameter nonTainted |
585+ | LocalDataFlow.cs:480:44:480:44 | x | LocalDataFlow.cs:483:21:483:21 | access to parameter x |
586+ | LocalDataFlow.cs:480:67:480:68 | os | LocalDataFlow.cs:486:32:486:33 | access to parameter os |
587+ | LocalDataFlow.cs:483:21:483:21 | access to parameter x | LocalDataFlow.cs:483:16:483:21 | ... = ... |
588+ | LocalDataFlow.cs:486:32:486:33 | access to parameter os | LocalDataFlow.cs:486:26:486:33 | ... = ... |
585589| SSA.cs:5:17:5:17 | SSA entry def(this.S) | SSA.cs:67:9:67:14 | access to field S |
586590| SSA.cs:5:17:5:17 | this | SSA.cs:67:9:67:12 | this access |
587591| SSA.cs:5:26:5:32 | tainted | SSA.cs:8:24:8:30 | access to parameter tainted |
Original file line number Diff line number Diff line change @@ -476,4 +476,13 @@ public void NonTaintedParameter(string nonTainted)
476476 {
477477 Check ( nonTainted ) ;
478478 }
479+
480+ public void AssignmentFlow ( IDisposable x , IEnumerable < object > os )
481+ {
482+ IDisposable x1 ;
483+ using ( x1 = x ) { }
484+
485+ IEnumerable < object > os2 ;
486+ foreach ( var o in os2 = os ) { }
487+ }
479488}
Original file line number Diff line number Diff line change 730730| LocalDataFlow.cs:470:41:470:47 | tainted | LocalDataFlow.cs:472:15:472:21 | access to parameter tainted |
731731| LocalDataFlow.cs:475:44:475:53 | nonTainted | LocalDataFlow.cs:475:44:475:53 | nonTainted |
732732| LocalDataFlow.cs:475:44:475:53 | nonTainted | LocalDataFlow.cs:477:15:477:24 | access to parameter nonTainted |
733+ | LocalDataFlow.cs:480:44:480:44 | x | LocalDataFlow.cs:480:44:480:44 | x |
734+ | LocalDataFlow.cs:480:44:480:44 | x | LocalDataFlow.cs:483:21:483:21 | access to parameter x |
735+ | LocalDataFlow.cs:480:67:480:68 | os | LocalDataFlow.cs:480:67:480:68 | os |
736+ | LocalDataFlow.cs:480:67:480:68 | os | LocalDataFlow.cs:486:32:486:33 | access to parameter os |
737+ | LocalDataFlow.cs:483:21:483:21 | access to parameter x | LocalDataFlow.cs:483:16:483:21 | ... = ... |
738+ | LocalDataFlow.cs:486:32:486:33 | access to parameter os | LocalDataFlow.cs:486:26:486:33 | ... = ... |
733739| SSA.cs:5:17:5:17 | SSA entry def(this.S) | SSA.cs:67:9:67:14 | access to field S |
734740| SSA.cs:5:17:5:17 | this | SSA.cs:67:9:67:12 | this access |
735741| SSA.cs:5:26:5:32 | tainted | SSA.cs:5:26:5:32 | tainted |
You can’t perform that action at this time.
0 commit comments