Skip to content

Commit df205b6

Browse files
authored
Merge pull request github#3539 from asger-semmle/js/capture-level-flow
Approved by erik-krogh
2 parents 6bc9624 + 75be3b7 commit df205b6

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

javascript/ql/test/library-tests/TaintTracking/BasicTaintTracking.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ typeInferenceMismatch
3131
| callbacks.js:44:17:44:24 | source() | callbacks.js:41:10:41:10 | x |
3232
| callbacks.js:50:18:50:25 | source() | callbacks.js:30:29:30:29 | y |
3333
| callbacks.js:51:18:51:25 | source() | callbacks.js:30:29:30:29 | y |
34+
| capture-flow.js:9:11:9:18 | source() | capture-flow.js:14:10:14:16 | outer() |
3435
| captured-sanitizer.js:25:3:25:10 | source() | captured-sanitizer.js:15:10:15:10 | x |
3536
| closure.js:6:15:6:22 | source() | closure.js:8:8:8:31 | string. ... (taint) |
3637
| closure.js:6:15:6:22 | source() | closure.js:9:8:9:25 | string.trim(taint) |

javascript/ql/test/library-tests/TaintTracking/DataFlowTracking.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
| callbacks.js:44:17:44:24 | source() | callbacks.js:41:10:41:10 | x |
2323
| callbacks.js:50:18:50:25 | source() | callbacks.js:30:29:30:29 | y |
2424
| callbacks.js:51:18:51:25 | source() | callbacks.js:30:29:30:29 | y |
25+
| capture-flow.js:9:11:9:18 | source() | capture-flow.js:14:10:14:16 | outer() |
2526
| captured-sanitizer.js:25:3:25:10 | source() | captured-sanitizer.js:15:10:15:10 | x |
2627
| constructor-calls.js:4:18:4:25 | source() | constructor-calls.js:18:8:18:14 | c.taint |
2728
| constructor-calls.js:4:18:4:25 | source() | constructor-calls.js:22:8:22:19 | c_safe.taint |
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'dummy';
2+
3+
function outerMost() {
4+
function outer() {
5+
var captured;
6+
function f(x) {
7+
captured = x;
8+
}
9+
f(source());
10+
11+
return captured;
12+
}
13+
14+
sink(outer()); // NOT OK
15+
16+
return outer();
17+
}
18+
19+
sink(outerMost()); // NOT OK - but missed

0 commit comments

Comments
 (0)