Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 894252d

Browse files
committed
third test of taint steps
1 parent 0f1e070 commit 894252d

3 files changed

Lines changed: 14 additions & 6 deletions

File tree

python/ql/test/library-tests/frameworks/data/test.expected

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ taintFlow
77
| test.py:71:28:71:38 | ControlFlowNode for getSource() | test.py:71:8:71:39 | ControlFlowNode for Attribute() |
88
| test.py:75:5:75:15 | ControlFlowNode for getSource() | test.py:76:22:76:22 | ControlFlowNode for x |
99
| test.py:75:5:75:15 | ControlFlowNode for getSource() | test.py:77:22:77:22 | ControlFlowNode for y |
10+
| test.py:81:36:81:46 | ControlFlowNode for getSource() | test.py:81:8:81:47 | ControlFlowNode for Attribute() |
11+
| test.py:83:50:83:60 | ControlFlowNode for getSource() | test.py:83:8:83:61 | ControlFlowNode for Attribute() |
1012
isSink
1113
| test.py:4:8:4:8 | ControlFlowNode for x | test-sink |
1214
| test.py:7:17:7:17 | ControlFlowNode for x | test-sink |
@@ -36,6 +38,9 @@ isSink
3638
| test.py:76:22:76:22 | ControlFlowNode for x | test-sink |
3739
| test.py:77:22:77:22 | ControlFlowNode for y | test-sink |
3840
| test.py:78:22:78:22 | ControlFlowNode for z | test-sink |
41+
| test.py:81:8:81:47 | ControlFlowNode for Attribute() | test-sink |
42+
| test.py:82:8:82:54 | ControlFlowNode for Attribute() | test-sink |
43+
| test.py:83:8:83:61 | ControlFlowNode for Attribute() | test-sink |
3944
isSource
4045
| test.py:3:5:3:15 | ControlFlowNode for getSource() | test-source |
4146
| test.py:9:8:9:14 | ControlFlowNode for alias() | test-source |
@@ -65,6 +70,9 @@ isSource
6570
| test.py:71:28:71:38 | ControlFlowNode for getSource() | test-source |
6671
| test.py:72:36:72:46 | ControlFlowNode for getSource() | test-source |
6772
| test.py:75:5:75:15 | ControlFlowNode for getSource() | test-source |
73+
| test.py:81:36:81:46 | ControlFlowNode for getSource() | test-source |
74+
| test.py:82:43:82:53 | ControlFlowNode for getSource() | test-source |
75+
| test.py:83:50:83:60 | ControlFlowNode for getSource() | test-source |
6876
syntaxErrors
6977
| Member[foo |
7078
| Member[foo] .Member[bar] |

python/ql/test/library-tests/frameworks/data/test.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,8 @@ def secondAndAfter(self, arg1, arg2, arg3, arg4, arg5):
7676
lambda x: mySink(x), # FLOW
7777
lambda y: mySink(y), # FLOW
7878
lambda z: mySink(z) # NO FLOW
79-
)
79+
)
80+
81+
mySink(Steps.preserveArgZeroAndTwo(getSource())) # FLOW
82+
mySink(Steps.preserveArgZeroAndTwo("foo", getSource())) # NO FLOW
83+
mySink(Steps.preserveArgZeroAndTwo("foo", "bar", getSource())) # FLOW

python/ql/test/library-tests/frameworks/data/test.ql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@ class Steps extends ModelInput::SummaryModelCsv {
1212
[
1313
"testlib;;Member[Steps].Member[preserveTaint];Argument[0];ReturnValue;taint",
1414
"testlib;;Member[Steps].Member[taintIntoCallback];Argument[0];Argument[1..2].Parameter[0];taint",
15-
// "testlib;;Member[Steps].Member[taintIntoCallbackThis];Argument[0];Argument[1..2].Parameter[this];taint",
16-
// "testlib;;Member[Steps].Member[preserveArgZeroAndTwo];Argument[0,2];ReturnValue;taint",
15+
"testlib;;Member[Steps].Member[preserveArgZeroAndTwo];Argument[0,2];ReturnValue;taint",
1716
// "testlib;;Member[Steps].Member[preserveAllButFirstArgument];Argument[1..];ReturnValue;taint",
18-
// "testlib;;Member[Steps].Member[preserveAllIfCall].Call;Argument[0..];ReturnValue;taint",
19-
// "testlib;;Member[Steps].Member[getSource].ReturnValue.Member[continue];Argument[this];ReturnValue;taint",
2017
]
2118
}
2219
}
@@ -56,7 +53,6 @@ class Sinks extends ModelInput::SinkModelCsv {
5653
}
5754

5855
// TODO: Test taint steps (include that the base path may end with ".Call")
59-
// TODO: // There are no API-graph edges for: ArrayElement, Element, MapKey, MapValue (remove from valid tokens list)
6056
class Sources extends ModelInput::SourceModelCsv {
6157
// package;type;path;kind
6258
override predicate row(string row) {

0 commit comments

Comments
 (0)