Make summaryThroughStepValue include param outputs

This matches summaryThroughStepTaint.
This commit is contained in:
Owen Mansel-Chan
2024-05-07 13:55:42 +01:00
parent 8198b1a6ef
commit c11fac81fd

View File

@@ -1286,10 +1286,8 @@ module Make<
* be useful to include in the exposed local data-flow/taint-tracking relations.
*/
predicate summaryThroughStepValue(ArgNode arg, Node out, SummarizedCallable sc) {
exists(ReturnKind rk, SummaryNode ret, DataFlowCall call |
summaryLocalStep(summaryArgParam(call, arg, sc), ret, true, _) and
summaryReturnNode(ret, pragma[only_bind_into](rk)) and
out = getAnOutNode(call, pragma[only_bind_into](rk))
exists(SummaryNode ret |
summaryLocalStep(summaryArgParamRetOut(arg, ret, out, sc), ret, true, _)
)
}