Skip to content

Commit 283954d

Browse files
committed
JS: Do not store into arrays implicitly
1 parent 89fd287 commit 283954d

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,10 @@ predicate defaultAdditionalTaintStep(DataFlow::Node node1, DataFlow::Node node2)
1414
FlowSummaryPrivate::Steps::summaryLocalStep(node1.(FlowSummaryNode).getSummaryNode(),
1515
node2.(FlowSummaryNode).getSummaryNode(), false, _) // TODO: preserve 'model' parameter
1616
or
17-
// Convert steps into and out of array elements to plain taint steps
17+
// Convert steps out of array elements to plain taint steps
1818
FlowSummaryPrivate::Steps::summaryReadStep(node1.(FlowSummaryNode).getSummaryNode(),
1919
ContentSet::arrayElement(), node2.(FlowSummaryNode).getSummaryNode())
2020
or
21-
FlowSummaryPrivate::Steps::summaryStoreStep(node1.(FlowSummaryNode).getSummaryNode(),
22-
ContentSet::arrayElement(), node2.(FlowSummaryNode).getSummaryNode())
23-
or
2421
// If the spread argument itself is tainted (not inside a content), store it into the dynamic argument array.
2522
exists(InvokeExpr invoke, Content c |
2623
node1 = TValueNode(invoke.getAnArgument().stripParens().(SpreadElement).getOperand()) and

0 commit comments

Comments
 (0)