Predicate storeStepImpl
Holds if data can flow from node1
to node2
via an assignment to f
.
Thus, node2
references an object with a field f
that contains the
value of node1
.
The boolean certain
is true if the destination address does not involve
any pointer arithmetic, and false otherwise. This has to do with whether a
store step can be used to clear a field (see clearsContent
).
Import path
import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate
predicate storeStepImpl(Node node1, Content c, Node node2, boolean certain)