From 9b2f29bbcde1b7d6df89d21033c48ebd29022154 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Mon, 13 Dec 2021 09:41:27 -0500 Subject: [PATCH] Allow data flow through receiver for modelled methods --- ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll b/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll index a8453792fe6..b2f574756a5 100644 --- a/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll +++ b/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll @@ -3,6 +3,7 @@ private import semmle.go.dataflow.FunctionInputsAndOutputs private import semmle.go.dataflow.FlowSummary private import DataFlowPrivate private import FlowSummaryImpl as FlowSummaryImpl +private import semmle.go.dataflow.ExternalFlow cached private newtype TNode = @@ -711,6 +712,12 @@ module Public { i != -1 or exists(c.(MethodCallNode).getTarget().getBody()) + or + exists(string package, string type, string name | + c.(MethodCallNode).getTarget().hasQualifiedName(package, type, name) + | + exists(interpretElement(package, type, _, name, "", _)) + ) ) }