Ruby: Constrain parameters flow properly

This commit is contained in:
Harry Maclean
2022-10-03 14:06:06 +13:00
parent 32baf67b07
commit 236b628ee2

View File

@@ -386,12 +386,13 @@ private module ParamsSummaries {
ParamsInstance() {
this.asExpr().getExpr() instanceof ParamsCall
or
exists(DataFlow::CallNode call | call = this |
call.getReceiver() instanceof ParamsInstance and
call.getMethodName() = paramsMethodReturningParamsInstance()
)
this =
any(DataFlow::CallNode call |
call.getReceiver() instanceof ParamsInstance and
call.getMethodName() = paramsMethodReturningParamsInstance()
)
or
exists(DataFlow::LocalSourceNode prev | prev.flowsTo(this))
exists(ParamsInstance prev | prev.(DataFlow::LocalSourceNode).flowsTo(this))
}
}