Anders Schack-Mulligen
|
b2a595596b
|
JS: Remove irrelevant comment.
|
2025-02-25 11:33:16 +01:00 |
|
Anders Schack-Mulligen
|
449150e6b5
|
JS: Accept fixed FP flow.
|
2025-02-25 10:42:21 +01:00 |
|
Asger F
|
a1b7096125
|
Merge pull request #18783 from asgerf/js/downward-calls
JS: Resolve calls downward in class hierarchy
|
2025-02-20 09:01:58 +01:00 |
|
Asger F
|
58c8b5fa2b
|
Merge pull request #18790 from asgerf/js/no-implicit-array-taint
JS: Do not taint whole array when storing into ArrayElement
|
2025-02-19 13:23:31 +01:00 |
|
Asger F
|
08b9d934c0
|
JS: Add a negative test
|
2025-02-17 11:37:44 +01:00 |
|
Asger F
|
352924fb8c
|
JS: Handle a few other stringification contexts
|
2025-02-17 11:36:28 +01:00 |
|
Asger F
|
33ab7db98a
|
JS: Handle Array.prototype.toString calls
|
2025-02-17 11:25:03 +01:00 |
|
Asger F
|
a74b203c86
|
JS: Add test with implicit array stringification
|
2025-02-17 11:21:46 +01:00 |
|
Asger F
|
d87534c7d0
|
JS: Model Array#toString
|
2025-02-17 11:13:36 +01:00 |
|
Asger F
|
e8d1703224
|
JS: Add test for flow through Buffer.concat
This flow was lost since the existing model of concat() boxes its return value in ArrayElement. There is no explicit model of Buffer.concat.
|
2025-02-17 11:12:51 +01:00 |
|
Asger F
|
ab5fc9f4d7
|
JS: Implement viableImplInCallContext
|
2025-02-14 13:25:19 +01:00 |
|
Asger F
|
ff7bc7c25e
|
JS: Track types of classes in data flow
|
2025-02-14 12:44:45 +01:00 |
|
Asger F
|
d3c4b5d493
|
JS: Add test with spurious flow due to up-down calls
|
2025-02-14 12:42:02 +01:00 |
|
Asger F
|
26dcbf7a2a
|
JS: Migrate URLSearchParams model to flow summaries
|
2025-02-13 11:51:33 +01:00 |
|
Asger F
|
f531f4479b
|
JS: Add test for URL and URLSearchParams
|
2025-02-13 11:51:32 +01:00 |
|
Asger F
|
33e8bd5032
|
JS: Update testUtilities import
|
2024-12-19 15:25:39 +01:00 |
|
Asger F
|
84820adf3c
|
Add test for exception flow out of finally()
|
2024-11-21 11:01:03 +01:00 |
|
Asger F
|
948d21ca07
|
JS: Propagate exceptions from summarized callables by default
|
2024-11-21 10:24:31 +01:00 |
|
Asger F
|
dcdb2e5133
|
JS: Fix callback check so it works without parameters
|
2024-11-21 10:24:29 +01:00 |
|
Asger F
|
b7dd455aff
|
JS: Add test case
|
2024-11-21 09:21:36 +01:00 |
|
Asger F
|
80a5a5909e
|
JS: Use getUnderlyingValue() a few places in VariableCapture
|
2024-11-19 13:23:29 +01:00 |
|
Asger F
|
d2daec4c66
|
JS: Add tests explaining why the IIFE in f2 didn't work
|
2024-11-19 13:23:24 +01:00 |
|
Asger F
|
37676f41aa
|
JS: Remove jump steps from IIFE steps
|
2024-11-18 13:38:34 +01:00 |
|
Asger F
|
7f2eae0966
|
JS: Add test case for false flow through IIFEs
We generate local flow steps into and out of IIFEs, but these come jump steps automatically, resulting in FPs.
|
2024-11-18 13:34:35 +01:00 |
|
Asger F
|
7acc5689cf
|
JS: Port exception steps to a universal summary
|
2024-11-18 13:27:58 +01:00 |
|
Asger F
|
5ed362f7d6
|
JS: Add exception test case
|
2024-11-18 13:23:09 +01:00 |
|
Asger F
|
bd94fe1574
|
JS: Explain false positive in test case
|
2024-10-29 08:31:58 +01:00 |
|
Asger F
|
16b08b74eb
|
JS: Add test showing potential for FPs when handling refinement guards
|
2024-10-29 08:31:55 +01:00 |
|
Asger F
|
e784813c3b
|
JS: Make barrier guards work with use-use flow
|
2024-10-22 12:46:19 +02:00 |
|
Asger F
|
81af9a1658
|
Fix missing flow through super calls
|
2024-10-22 12:46:17 +02:00 |
|
Asger F
|
12370e9210
|
JS: Use VariableOrThis in variable capture as well
|
2024-10-22 12:46:16 +02:00 |
|
Asger F
|
0ebe8bdd91
|
JS: Add test for missing capture flow for 'this'
|
2024-10-22 12:46:15 +02:00 |
|
Asger F
|
d31499d727
|
JS: introduce implicit this uses in general
|
2024-10-22 12:46:14 +02:00 |
|
Asger F
|
8dc0505f84
|
JS: Add test for missing flow into 'this' in field initializers
|
2024-10-22 12:46:13 +02:00 |
|
Asger F
|
c3c003b275
|
JS: Fix post-update flow into 'this'
|
2024-10-22 12:46:11 +02:00 |
|
Asger F
|
9fc99d6f9d
|
JS: Fix store into object literals that have a post-update node
|
2024-10-22 12:46:11 +02:00 |
|
Asger F
|
d626e79ed3
|
JS: Add two test cases for missing flow
|
2024-10-22 12:46:10 +02:00 |
|
Asger F
|
78e961cef3
|
JS: Add use-use flow
|
2024-10-22 12:46:01 +02:00 |
|
Asger F
|
81e74d8bb5
|
JS: Add test case for spurious flow from lack of use-use
|
2024-10-22 12:46:00 +02:00 |
|
Asger F
|
3b09bc548e
|
JS: Add taint step for shift()
|
2024-09-12 13:42:17 +02:00 |
|
Asger F
|
3ea1134cc1
|
JS: Add inline test for .shift() method
|
2024-09-12 13:42:16 +02:00 |
|
Asger F
|
55d4e7e742
|
JS: Use ArrayElementKnown when reading a constant array index
|
2024-09-09 13:26:25 +02:00 |
|
Asger F
|
fb9732a33f
|
JS: Add another test and TODO about an issue with constant array indices
|
2024-09-06 08:43:11 +02:00 |
|
Asger F
|
a9a8351cce
|
JS: Fix one case of missing handling of unknown array index
|
2024-09-06 08:43:09 +02:00 |
|
Asger F
|
379c7ef20a
|
JS: Add test to show lack of unknown array element being propagated
|
2024-09-06 08:43:08 +02:00 |
|
Asger F
|
f65879eef1
|
JS: Update a test that no longer fails
|
2024-08-27 11:35:37 +02:00 |
|
Asger F
|
895cb872ad
|
JS: Add taint into dynamic argument array
|
2024-08-27 11:35:24 +02:00 |
|
Asger F
|
079a622cf9
|
JS: Add tests showing missing taint flow
When the spread argument itself is tained and not
inside any content, the read steps currently fail
to propagate the data.
|
2024-08-27 11:35:23 +02:00 |
|
Asger F
|
fa7ad03068
|
JS: Add store/load steps for the new argument arrays
|
2024-08-27 11:35:15 +02:00 |
|
Asger F
|
5d77c336fc
|
Test case for spread and rest args/params
|
2024-08-27 11:35:11 +02:00 |
|