Files
codeql/csharp/ql/test/library-tests/dataflow/global/DataFlow.expected
Luke Cartey 407f6349a3 C#: Fix potential bug in CaptureOutNode.
In theory this bug could associated CaptureOutNodes with the wrong transitively called
callable. However, in practice I could not create a test case that revealed incorrect
behaviour. I've included one such test case in the commit.

I believe that the cause of this is that OutNode::getACall() is not actually used in the
data flow libraries. Instead, DataFlowDispatch::Cached::getAnOutNode is the predicate
which is used to associated OutNode's with DataFlowCall's in practice, and that is always
used in a context that correctly binds the runtime target of the call.
2019-09-18 11:48:29 +01:00

47 lines
3.0 KiB
Plaintext

| Capture.cs:12:19:12:24 | access to local variable sink27 |
| Capture.cs:21:23:21:28 | access to local variable sink28 |
| Capture.cs:30:19:30:24 | access to local variable sink29 |
| Capture.cs:57:27:57:32 | access to parameter sink39 |
| Capture.cs:72:15:72:20 | access to local variable sink30 |
| Capture.cs:84:15:84:20 | access to local variable sink31 |
| Capture.cs:93:15:93:20 | access to local variable sink32 |
| Capture.cs:122:15:122:20 | access to local variable sink40 |
| Capture.cs:133:15:133:20 | access to local variable sink33 |
| Capture.cs:145:15:145:20 | access to local variable sink34 |
| Capture.cs:154:15:154:20 | access to local variable sink35 |
| Capture.cs:161:15:161:20 | access to local variable sink36 |
| Capture.cs:169:15:169:20 | access to local variable sink37 |
| Capture.cs:195:15:195:20 | access to local variable sink38 |
| GlobalDataFlow.cs:18:15:18:29 | access to field SinkField0 |
| GlobalDataFlow.cs:26:15:26:32 | access to property SinkProperty0 |
| GlobalDataFlow.cs:44:50:44:59 | access to parameter sinkParam2 |
| GlobalDataFlow.cs:71:15:71:19 | access to local variable sink0 |
| GlobalDataFlow.cs:73:15:73:19 | access to local variable sink1 |
| GlobalDataFlow.cs:76:15:76:19 | access to local variable sink2 |
| GlobalDataFlow.cs:79:15:79:19 | access to local variable sink3 |
| GlobalDataFlow.cs:136:15:136:19 | access to local variable sink4 |
| GlobalDataFlow.cs:144:15:144:19 | access to local variable sink5 |
| GlobalDataFlow.cs:154:15:154:19 | access to local variable sink6 |
| GlobalDataFlow.cs:157:15:157:19 | access to local variable sink7 |
| GlobalDataFlow.cs:160:15:160:19 | access to local variable sink8 |
| GlobalDataFlow.cs:164:15:164:20 | access to local variable sink23 |
| GlobalDataFlow.cs:181:15:181:19 | access to local variable sink9 |
| GlobalDataFlow.cs:190:15:190:20 | access to local variable sink10 |
| GlobalDataFlow.cs:198:15:198:20 | access to local variable sink19 |
| GlobalDataFlow.cs:237:15:237:24 | access to parameter sinkParam0 |
| GlobalDataFlow.cs:242:15:242:24 | access to parameter sinkParam1 |
| GlobalDataFlow.cs:247:15:247:24 | access to parameter sinkParam3 |
| GlobalDataFlow.cs:252:15:252:24 | access to parameter sinkParam4 |
| GlobalDataFlow.cs:257:15:257:24 | access to parameter sinkParam5 |
| GlobalDataFlow.cs:262:15:262:24 | access to parameter sinkParam6 |
| GlobalDataFlow.cs:267:15:267:24 | access to parameter sinkParam7 |
| GlobalDataFlow.cs:381:15:381:20 | access to local variable sink11 |
| GlobalDataFlow.cs:404:41:404:46 | access to local variable sink20 |
| Splitting.cs:9:15:9:15 | [b (line 3): false] access to local variable x |
| Splitting.cs:9:15:9:15 | [b (line 3): true] access to local variable x |
| Splitting.cs:11:19:11:19 | access to local variable x |
| Splitting.cs:21:28:21:32 | access to parameter value |
| Splitting.cs:32:15:32:15 | [b (line 24): false] access to local variable x |
| Splitting.cs:32:15:32:15 | [b (line 24): true] access to local variable x |
| Splitting.cs:34:19:34:19 | access to local variable x |