Skip to content

Commit 4e7bd9d

Browse files
committed
JS: Update Arrays test now that array elements do not taint the whole array
1 parent 4389b5c commit 4e7bd9d

File tree

4 files changed

+214
-173
lines changed

4 files changed

+214
-173
lines changed

javascript/ql/test/library-tests/Arrays/DataFlow.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ flow
2424
| arrays.js:29:21:29:28 | "source" | arrays.js:50:8:50:17 | arr6.pop() |
2525
| arrays.js:33:37:33:44 | "source" | arrays.js:35:8:35:25 | arr4_variant.pop() |
2626
| arrays.js:53:4:53:11 | "source" | arrays.js:54:10:54:18 | ary.pop() |
27+
| arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:40 | ["sourc ... ).pop() |
28+
| arrays.js:97:9:97:16 | "source" | arrays.js:97:8:97:42 | ["sourc ... ).pop() |

javascript/ql/test/library-tests/Arrays/TaintFlow.expected

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
legacyDataFlowDifference
2-
| arrays.js:2:16:2:23 | "source" | arrays.js:39:8:39:24 | arr4_spread.pop() | only flow with OLD data flow library |
32
flow
43
| arrays.js:2:16:2:23 | "source" | arrays.js:5:8:5:14 | obj.foo |
54
| arrays.js:2:16:2:23 | "source" | arrays.js:11:10:11:15 | arr[i] |
65
| arrays.js:2:16:2:23 | "source" | arrays.js:15:27:15:27 | e |
76
| arrays.js:2:16:2:23 | "source" | arrays.js:16:23:16:23 | e |
87
| arrays.js:2:16:2:23 | "source" | arrays.js:20:8:20:16 | arr.pop() |
8+
| arrays.js:2:16:2:23 | "source" | arrays.js:39:8:39:24 | arr4_spread.pop() |
99
| arrays.js:2:16:2:23 | "source" | arrays.js:58:8:58:13 | arr[0] |
1010
| arrays.js:2:16:2:23 | "source" | arrays.js:61:10:61:10 | x |
1111
| arrays.js:2:16:2:23 | "source" | arrays.js:65:10:65:10 | x |
@@ -26,5 +26,6 @@ flow
2626
| arrays.js:33:37:33:44 | "source" | arrays.js:35:8:35:25 | arr4_variant.pop() |
2727
| arrays.js:53:4:53:11 | "source" | arrays.js:54:10:54:18 | ary.pop() |
2828
| arrays.js:53:4:53:11 | "source" | arrays.js:55:10:55:12 | ary |
29-
| arrays.js:95:9:95:16 | "source" | arrays.js:95:8:95:34 | ["sourc ... ) => x) |
30-
| arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:36 | ["sourc ... => !!x) |
29+
| arrays.js:95:9:95:16 | "source" | arrays.js:95:8:95:17 | ["source"] |
30+
| arrays.js:96:9:96:16 | "source" | arrays.js:96:8:96:40 | ["sourc ... ).pop() |
31+
| arrays.js:97:9:97:16 | "source" | arrays.js:97:8:97:42 | ["sourc ... ).pop() |

javascript/ql/test/library-tests/Arrays/arrays.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@
9292

9393
sink(arr.at(-1)); // NOT OK
9494

95-
sink(["source"].filter((x) => x)); // NOT OK
96-
sink(["source"].filter((x) => !!x)); // NOT OK
95+
sink(["source"]); // OK - for now, array element do not taint the entire array
96+
sink(["source"].filter((x) => x).pop()); // NOT OK
97+
sink(["source"].filter((x) => !!x).pop()); // NOT OK
98+
9799
});

0 commit comments

Comments
 (0)