Ruby: extend may have multiple arguments

This commit is contained in:
Arthur Baars
2022-10-04 12:20:05 +02:00
parent ab3a62de3c
commit 88b5d4da16

View File

@@ -299,7 +299,7 @@ pragma[nomagic]
private predicate extendCall(DataFlow::ExprNode receiver, Module m) {
exists(DataFlow::CallNode extendCall |
extendCall.getMethodName() = "extend" and
exists(DataFlow::LocalSourceNode sourceNode | sourceNode.flowsTo(extendCall.getArgument(0)) |
exists(DataFlow::LocalSourceNode sourceNode | sourceNode.flowsTo(extendCall.getArgument(_)) |
selfInModule(sourceNode.(SsaSelfDefinitionNode).getVariable(), m) or
m = resolveConstantReadAccess(sourceNode.asExpr().getExpr())
) and