From ad1d9a3ba146cd5671c33c69ad1ff9a060e39189 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 18 Sep 2023 14:06:24 +0200 Subject: [PATCH] temp --- .../codeql/ruby/dataflow/internal/DataFlowPrivate.qll | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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() }