Skip to content

Commit da9aafc

Browse files
committed
JS: Also track additional use-steps crossing the overlay boundary
1 parent cf0b770 commit da9aafc

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

javascript/ql/lib/semmle/javascript/ApiGraphs.qll

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1650,10 +1650,17 @@ module API {
16501650
isInOverlayChangedFile(node)
16511651
}
16521652

1653+
pragma[nomagic]
1654+
private predicate step(DataFlow::SourceNode node1, DataFlow::SourceNode node2) {
1655+
StepSummary::step(node1, node2, _)
1656+
or
1657+
AdditionalUseStep::step(node1, node2)
1658+
}
1659+
16531660
/** Holds if there is a step `node1 -> node2` from an unchanged file into a changed file. */
16541661
pragma[nomagic]
16551662
private predicate stepIntoOverlay(DataFlow::Node node1, DataFlow::Node node2) {
1656-
StepSummary::step(node1, node2, _) and
1663+
step(node1, node2) and
16571664
isInOverlayChangedFile(node2) and
16581665
not isInOverlayChangedFileLate(node1) and
16591666
hasSemanticsLate(node1)
@@ -1680,7 +1687,7 @@ module API {
16801687
/** Holds if there is a step `node1 -> node2` from a changed file into an unchanged file. */
16811688
pragma[nomagic]
16821689
private predicate stepOutOfOverlay(DataFlow::Node node1, DataFlow::Node node2) {
1683-
StepSummary::step(node1, node2, _) and
1690+
step(node1, node2) and
16841691
isInOverlayChangedFile(node1) and
16851692
not isInOverlayChangedFileLate(node2) and
16861693
hasSemanticsLate(node2)

0 commit comments

Comments
 (0)