Skip to content

Commit b8b5aef

Browse files
committed
recognize Object.defineProperty(obj, prop, {get: func}) as a property-write
1 parent 6a9089b commit b8b5aef

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

javascript/ql/src/semmle/javascript/dataflow/DataFlow.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,11 @@ module DataFlow {
628628
override string getPropertyName() { result = astNode.getArgument(1).getStringValue() }
629629

630630
override Node getRhs() {
631-
result = astNode.getArgument(2).(ObjectExpr).getPropertyByName("value").getInit().flow()
631+
exists(ObjectExpr obj | obj = astNode.getArgument(2) |
632+
result = obj.getPropertyByName("value").getInit().flow()
633+
or
634+
result = obj.getPropertyByName("get").getInit().flow().(DataFlow::FunctionNode).getAReturn()
635+
)
632636
}
633637

634638
override ControlFlowNode getWriteNode() { result = astNode }

0 commit comments

Comments
 (0)