Skip to content

Commit 8a37657

Browse files
committed
more
1 parent fe3c581 commit 8a37657

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

javascript/ql/lib/semmle/javascript/dataflow/internal/FlowSteps.qll

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,17 @@ private module CachedSteps {
337337
exists(NameResolution::Node node1, NameResolution::Node node2 |
338338
NameResolution::ValueFlow::resolvedReadStep(node1, node2) and
339339
pred = DataFlow::valueNode(node1) and
340-
succ = DataFlow::valueNode(node2)
340+
succ = getNodeFromNameResolutionNode(node2)
341+
)
342+
}
343+
344+
pragma[inline]
345+
private DataFlow::Node getNodeFromNameResolutionNode(NameResolution::Node node) {
346+
result = DataFlow::valueNode(node)
347+
or
348+
exists(ImportSpecifier spec |
349+
node = spec.getLocal() and
350+
result = DataFlow::valueNode(spec)
341351
)
342352
}
343353

javascript/ql/lib/semmle/javascript/internal/NameResolution.qll

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,12 @@ module NameResolution {
339339
S::isRelevantVariable(result)
340340
)
341341
or
342+
exists(ExportDefaultDeclaration exprt |
343+
mod = exprt.getContainer() and
344+
name = "default" and
345+
result = exprt.getOperand()
346+
)
347+
or
342348
exists(ExportNamespaceSpecifier spec |
343349
result = spec and
344350
mod = spec.getContainer() and

javascript/ql/test/library-tests/EndpointNaming/EndpointNaming.expected

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
testFailures
2-
| pack3/lib.js:1:16:1:33 | | Unexpected result: name=(pack3).libFunction.default |
3-
| pack3/lib.js:1:35:1:118 | // $ na ... unction | Missing result: alias=(pack3).libFunction.default==(pack3).libFunction |
4-
| pack3/lib.js:1:35:1:118 | // $ na ... unction | Missing result: name=(pack3).libFunction |
52
| pack8/foo.js:1:1:1:12 | | Unexpected result: name=(pack8).Foo.Foo |
63
| pack8/foo.js:1:14:1:34 | // $ na ... k8).Foo | Missing result: name=(pack8).Foo |
74
| pack8/foo.js:4:26:4:28 | | Unexpected result: alias=(pack8).Foo.default==(pack8).Foo.Foo |
85
| pack8/foo.js:4:31:4:73 | // $ al ... k8).Foo | Missing result: alias=(pack8).Foo.default==(pack8).Foo |
96
| pack8/foo.js:5:27:5:65 | // $ al ... k8).Foo | Missing result: alias=(pack8).Foo.Foo==(pack8).Foo |
10-
| pack10/foo.js:1:34:1:55 | // $ na ... 10).Foo | Missing result: name=(pack10).Foo |
117
ambiguousPreferredPredecessor
128
| pack2/lib.js:1:1:3:1 | def moduleImport("pack2").getMember("exports").getMember("lib").getMember("LibClass").getInstance() |
139
| pack2/lib.js:8:22:8:34 | def moduleImport("pack2").getMember("exports").getMember("lib").getMember("LibClass").getMember("foo") |

0 commit comments

Comments
 (0)