Tom Hvitved
5ab1047b14
Merge pull request #15882 from hvitved/js/dataflow-node-get-location
...
JS: Add `DataFlow::Node.getLocation`
2024-03-19 09:21:00 +01:00
Tom Hvitved
54fa8181da
Address review comment
2024-03-13 20:03:01 +01:00
Erik Krogh Kristensen
bd121b98ae
Merge pull request #15893 from erik-krogh/more-filter-taint
...
JS: allow more flow through .filter()
2024-03-13 16:19:28 +01:00
Tom Hvitved
16cef92106
JS: Add DataFlow::Node.getLocation
2024-03-13 13:06:16 +01:00
Asger F
c5a02dae2b
Merge pull request #15768 from asgerf/js/amd-pseudo-deps
...
JS: Do not treat AMD pseudo-dependencies as imports
2024-03-13 12:49:17 +01:00
erik-krogh
129286aa1c
allow more flow through .filter()
2024-03-13 12:03:00 +01:00
Asger F
7c35309732
Merge pull request #15823 from asgerf/js/lift-cg-restriction
...
JS: Call graph improvements
2024-03-08 13:40:38 +01:00
Asger F
245cd5c0b5
Merge pull request #15760 from asgerf/js/summarised-tt-store-steps
...
JS: Summarise store steps for type tracking
2024-03-08 13:16:25 +01:00
Asger F
ac4601cb8f
Update javascript/ql/lib/semmle/javascript/dataflow/internal/CallGraphs.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-03-08 13:01:38 +01:00
Asger F
a54a73c9a2
JS: Detect more FunctionStyleClasses
2024-03-06 11:37:20 +01:00
Asger F
4ab7acedb6
JS: Do not track instance methods
2024-03-04 10:36:13 +01:00
Asger F
f5d014baa5
JS: Remove allocation site restriction in CG
2024-03-01 23:20:35 +01:00
Asger F
13e3a5158e
JS: Fix qldoc
2024-02-29 13:59:25 +01:00
Asger F
6a0adff1dc
JS: More precise detection of classes with escaping instances
2024-02-29 11:15:37 +01:00
Asger F
853397361f
JS: Do not treat AMD pseudo-dependencies as file paths
2024-02-29 10:23:28 +01:00
Asger F
052a8e7f81
JS: Avoid spurious recursion in AMD
2024-02-29 10:23:28 +01:00
Asger F
f384afbaf6
JS: Also summarize loadStore steps
2024-02-29 10:11:16 +01:00
Asger F
3ad83cc098
JS: Summarise store steps for type tracking
2024-02-29 10:10:39 +01:00
Asger F
29ffeb6da5
JS: Fix qldoc
2024-02-20 14:00:32 +01:00
Asger F
c324b2aed8
JS: Refactor
2024-02-19 13:59:49 +01:00
Asger F
eb7d0244c2
JS: Global names don't have to be defined in externs
2024-02-19 13:59:49 +01:00
Asger F
493b37774f
JS: More precise isFunctionSource
2024-02-19 13:59:49 +01:00
Asger F
6d597bea0d
JS: Refactor
2024-02-19 13:59:49 +01:00
Asger F
8a5b907912
JS: Handle wrapper functions more gracefully
2024-02-19 13:59:48 +01:00
Asger F
d96f29d6c2
JS: Disallow return steps in getASinkNode
2024-02-19 13:59:48 +01:00
Asger F
29258ad8c2
WIP new aliasing rule
2024-02-19 13:59:15 +01:00
Asger F
d94d4591da
JS: Name instance methods using API nodes instead of special-casing
2024-02-14 15:08:19 +01:00
Asger F
c4a0f36a08
JS: Fix handling of unknown properties
...
These would shorten the expected distance to a node, but would never be usable as an edge, meaning we failed to pick a preferred predecessor.
2024-02-14 15:08:19 +01:00
Asger F
9838da5395
JS: Simplify isExported
2024-02-14 15:08:19 +01:00
Asger F
a3dc19fd31
JS: Check privacy earlier
2024-02-14 15:08:19 +01:00
Asger F
75a95ffcd1
Merge pull request #15602 from asgerf/js/block-logical-and-flow
...
JS: Fix flow through &&
2024-02-14 12:29:40 +01:00
Asger F
2172c4863f
Merge pull request #15380 from asgerf/js/endpoint-naming
...
JS: Add library for naming endpoints
2024-02-14 10:48:13 +01:00
Asger F
7122a7502a
JS: Fix flow through &&
...
This is a long-standing bug we've been unable to fix due to noise from type inference.
2024-02-13 14:43:03 +01:00
Asger F
543e183d99
JS: Describe 1-step aliasing rule
2024-02-13 09:29:15 +01:00
Asger F
baa3c35d6f
JS: Refactor aliasing relation
2024-02-13 09:24:00 +01:00
Asger F
8d3a19aaad
JS: Fix termination criteria
...
Previously it was theoretically possible to create a cycle of preferred predecessors, since badness had higher precedence than depth. We now require the preferred predecessor to have lower depth.
With this criteria we can remove the arbitray cap on badness.
2024-02-12 11:44:52 +01:00
Asger F
0fbe530d9e
JS: Fix some broken comments
2024-02-12 11:39:40 +01:00
Asger F
6d01ba67f7
JS: Check isPrivateLike in isExported instead
2024-02-12 11:39:29 +01:00
Asger F
8a2485a22f
JS: Address some comments
2024-02-01 20:54:27 +01:00
Asger F
aa5cccdddd
JS: Make sinkHasPrimaryName public
2024-01-31 20:39:25 +01:00
James Ockers
eb5e0123d6
exclude certification from maybeCertificate() regexes
2024-01-30 13:16:18 -08:00
Asger F
19ba9fed99
Handle externs
2024-01-30 17:13:02 +01:00
Asger F
1737ba1a6b
JS: Add library for naming endpoints
2024-01-30 16:36:51 +01:00
Asger F
8930ce74af
JS: Do not view packages as nested in a private package
2024-01-30 13:20:57 +01:00
Asger F
2d8d11fa78
JS: Restrict type-only exports in API graphs
2024-01-30 13:20:57 +01:00
Asger F
0e0fb0e52d
JS: Remove API graph edge causing ambiguity
2024-01-30 13:20:56 +01:00
Asger F
e441dd472b
JS: Expose hasBothNamedAndDefaultExports()
2024-01-30 13:20:55 +01:00
erik-krogh
8be7eadace
delete outdated deprecations
2024-01-22 09:11:35 +01:00
Asger F
96f8a02a72
JS: Treat private-field methods as private
2024-01-15 13:00:39 +01:00
Asger F
59c9ac735a
Merge pull request #15295 from asgerf/js/type-model-export
...
JS: Include sink nodes as base-case when resolving types
2024-01-11 20:47:32 +01:00