File tree Expand file tree Collapse file tree 3 files changed +16
-0
lines changed
javascript/ql/test/library-tests/TaintTracking Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,8 @@ typeInferenceMismatch
34
34
| callbacks.js:51:18:51:25 | source() | callbacks.js:30:29:30:29 | y |
35
35
| callbacks.js:53:23:53:30 | source() | callbacks.js:58:10:58:10 | x |
36
36
| capture-flow.js:9:11:9:18 | source() | capture-flow.js:14:10:14:16 | outer() |
37
+ | capture-flow.js:31:14:31:21 | source() | capture-flow.js:30:6:30:20 | confuse('safe') |
38
+ | capture-flow.js:31:14:31:21 | source() | capture-flow.js:31:6:31:22 | confuse(source()) |
37
39
| captured-sanitizer.js:25:3:25:10 | source() | captured-sanitizer.js:15:10:15:10 | x |
38
40
| closure.js:6:15:6:22 | source() | closure.js:8:8:8:31 | string. ... (taint) |
39
41
| closure.js:6:15:6:22 | source() | closure.js:9:8:9:25 | string.trim(taint) |
Original file line number Diff line number Diff line change 24
24
| callbacks.js:51:18:51:25 | source() | callbacks.js:30:29:30:29 | y |
25
25
| callbacks.js:53:23:53:30 | source() | callbacks.js:58:10:58:10 | x |
26
26
| capture-flow.js:9:11:9:18 | source() | capture-flow.js:14:10:14:16 | outer() |
27
+ | capture-flow.js:31:14:31:21 | source() | capture-flow.js:30:6:30:20 | confuse('safe') |
28
+ | capture-flow.js:31:14:31:21 | source() | capture-flow.js:31:6:31:22 | confuse(source()) |
27
29
| captured-sanitizer.js:25:3:25:10 | source() | captured-sanitizer.js:15:10:15:10 | x |
28
30
| constructor-calls.js:4:18:4:25 | source() | constructor-calls.js:18:8:18:14 | c.taint |
29
31
| constructor-calls.js:4:18:4:25 | source() | constructor-calls.js:22:8:22:19 | c_safe.taint |
Original file line number Diff line number Diff line change @@ -17,3 +17,15 @@ function outerMost() {
17
17
}
18
18
19
19
sink ( outerMost ( ) ) ; // NOT OK - but missed
20
+
21
+ function confuse ( x ) {
22
+ let captured ;
23
+ function f ( ) {
24
+ captured = x ;
25
+ }
26
+ f ( ) ;
27
+ return captured ;
28
+ }
29
+
30
+ sink ( confuse ( 'safe' ) ) ; // OK - but incorrectly flagged
31
+ sink ( confuse ( source ( ) ) ) ; // NOT OK
You can’t perform that action at this time.
0 commit comments