C++: Also add an out barrier on all sinks.

This commit is contained in:
Mathias Vorreiter Pedersen
2023-05-25 12:23:50 -07:00
parent ebc1d5feff
commit c3fdc83af6
2 changed files with 4 additions and 11 deletions

View File

@@ -97,6 +97,8 @@ module PointerArithmeticToDerefConfig implements DataFlow::ConfigSig {
predicate isBarrierIn(DataFlow::Node node) { isSource(node) }
predicate isBarrierOut(DataFlow::Node node) { isSink(node) }
predicate isSink(DataFlow::Node sink) { isInvalidPointerDerefSink1(sink, _, _) }
}
@@ -134,6 +136,8 @@ module FieldAddressToDerefConfig implements DataFlow::StateConfigSig {
predicate isBarrierIn(DataFlow::Node node) { isSource(node, _) }
predicate isBarrierOut(DataFlow::Node node) { isSink(node, _) }
predicate isAdditionalFlowStep(
DataFlow::Node node1, FlowState state1, DataFlow::Node node2, FlowState state2
) {