Reduce scope of allowImplicitRead to avoid cartesian product.

This commit is contained in:
Joe Farebrother
2025-04-02 09:33:30 +01:00
parent 2d6476ad21
commit c37809a187

View File

@@ -62,7 +62,12 @@ module EscapingCaptureFlowConfig implements DataFlow::ConfigSig {
predicate allowImplicitRead(DataFlow::Node node, DataFlow::ContentSet cs) {
isSink(node) and
exists(cs)
(
cs instanceof DataFlow::TupleElementContent or
cs instanceof DataFlow::ListElementContent or
cs instanceof DataFlow::SetElementContent or
cs instanceof DataFlow::DictionaryElementAnyContent
)
}
}