Predicate isFree
Holds if outgoing
is a dataflow node that represents the pointer passed to
dealloc
after the call returns (i.e., the post-update node associated with
the argument to dealloc
), and incoming
is the corresponding argument
node going into dealloc
(i.e., the pre-update node of outgoing
).
Import path
import semmle.code.cpp.security.flowafterfree.FlowAfterFree
predicate isFree(Node outgoing, Node incoming, Expr e, DeallocationExpr dealloc)