diff --git a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll index 03417269e626d..ba93418c2f967 100644 --- a/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll +++ b/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowPrivate.qll @@ -1742,7 +1742,7 @@ predicate expectsContent(Node n, ContentSet c) { private newtype TDataFlowType = TLambdaDataFlowType(Callable c) { c = any(LambdaSelfReferenceNode n).getCallable() } or // TSynthHashSplatArgumentType(SynthHashSplatArgumentNode n) or - // TSynthSplatArgumentType(SynthSplatArgumentNode n) or + TSynthSplatArgumentType(SynthSplatArgumentNode n) or TUnknownDataFlowType() class DataFlowType extends TDataFlowType { @@ -1772,14 +1772,15 @@ DataFlowType getNodeType(Node n) { result = TLambdaDataFlowType(c) ) or - // or // result = TSynthHashSplatArgumentType(n) // or - // result = TSynthSplatArgumentType(n) + result = TSynthSplatArgumentType(n) + or not n instanceof LambdaSelfReferenceNode and not mustHaveLambdaType(n, _) and // not n instanceof SynthHashSplatArgumentNode and - // not n instanceof SynthSplatArgumentNode and + // not exists(TSynthSplatArgumentType(n)) and + not n instanceof SynthSplatArgumentNode and result = TUnknownDataFlowType() }