File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed
javascript/ql/test/library-tests/TaintTracking Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -246,6 +246,10 @@ typeInferenceMismatch
246
246
| tst.js:2:13:2:20 | source() | tst.js:70:10:70:18 | xReversed |
247
247
| tst.js:2:13:2:20 | source() | tst.js:72:10:72:31 | Map.gro ... z => z) |
248
248
| tst.js:2:13:2:20 | source() | tst.js:74:10:74:34 | Object. ... z => z) |
249
+ | tst.js:2:13:2:20 | source() | tst.js:79:14:79:20 | grouped |
250
+ | tst.js:75:22:75:29 | source() | tst.js:75:10:75:52 | Map.gro ... (item)) |
251
+ | tst.js:82:23:82:30 | source() | tst.js:84:14:84:20 | grouped |
252
+ | tst.js:87:22:87:29 | source() | tst.js:90:14:90:25 | taintedValue |
249
253
| xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text |
250
254
| xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result |
251
255
| xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr |
Original file line number Diff line number Diff line change @@ -72,4 +72,28 @@ function test() {
72
72
sink ( Map . groupBy ( x , z => z ) ) ; // NOT OK
73
73
sink ( Custom . groupBy ( x , z => z ) ) ; // OK
74
74
sink ( Object . groupBy ( x , z => z ) ) ; // NOT OK
75
+ sink ( Map . groupBy ( source ( ) , ( item ) => sink ( item ) ) ) ; // NOT OK
76
+
77
+ {
78
+ const grouped = Map . groupBy ( x , ( item ) => sink ( item ) ) ; // NOT OK -- Should be tainted, but it is not
79
+ sink ( grouped ) ; // NOT OK
80
+ }
81
+ {
82
+ const list = [ source ( ) ] ;
83
+ const grouped = Map . groupBy ( list , ( item ) => sink ( item ) ) ; // NOT OK -- Should be tainted, but it is not
84
+ sink ( grouped ) ; // NOT OK
85
+ }
86
+ {
87
+ const data = source ( ) ;
88
+ const result = Object . groupBy ( data , item => item ) ;
89
+ const taintedValue = result [ notDefined ( ) ] ;
90
+ sink ( taintedValue ) ; // NOT OK
91
+ }
92
+ {
93
+ const data = source ( ) ;
94
+ const map = Map . groupBy ( data , item => item ) ;
95
+ const taintedValue = map . get ( true ) ;
96
+ sink ( taintedValue ) ; // NOT OK -- Should be tainted, but it is not
97
+ sink ( map . get ( true ) ) ; // NOT OK -- Should be tainted, but it is not
98
+ }
75
99
}
You can’t perform that action at this time.
0 commit comments