Skip to content

Commit 74dbc71

Browse files
committed
JS: Change Extend steps to PreCallGraphStep
1 parent d94ed1b commit 74dbc71

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

javascript/ql/lib/semmle/javascript/Extend.qll

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,12 @@ private class FunctionalExtendCallShallow extends ExtendCall {
157157
}
158158

159159
/**
160-
* A taint propagating data flow edge from the objects flowing into an extend call to its return value
160+
* A value-preserving data flow edge from the objects flowing into an extend call to its return value
161161
* and to the source of the destination object.
162+
*
163+
* Since all object properties are preserved, we model this as a value-preserving step.
162164
*/
163-
private class ExtendCallTaintStep extends TaintTracking::SharedTaintStep {
165+
private class ExtendCallStep extends PreCallGraphStep {
164166
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
165167
exists(ExtendCall extend |
166168
pred = extend.getASourceOperand() and succ = extend.getDestinationOperand().getALocalSource()

0 commit comments

Comments
 (0)