From 9865b66308a4df6eacd1296bd5c1140f5763b875 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 23 Jun 2026 20:12:22 +0100 Subject: [PATCH] Java: Fixes after changes to the flow summary API. --- .../lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll | 4 ++-- .../semmle/code/java/dataflow/internal/FlowSummaryImpl.qll | 6 ++++++ .../code/java/dataflow/internal/TaintTrackingUtil.qll | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll index 9c2bb13a09f..d18190ffa1b 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll @@ -247,8 +247,8 @@ private predicate simpleLocalFlowStep0(Node node1, Node node2, string model) { or cloneStep(node1, node2) and model = "CloneStep" or - FlowSummaryImpl::Private::Steps::summaryLocalStep(node1.(FlowSummaryNode).getSummaryNode(), - node2.(FlowSummaryNode).getSummaryNode(), true, model) + FlowSummaryImpl::Private::Steps::summaryLocalStep(node1, node2.(FlowSummaryNode).getSummaryNode(), + true, model) } /** diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll index 453b7ccae11..5ff113db730 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll @@ -41,6 +41,8 @@ module Input implements InputSig { class SinkBase = Void; + class FlowSummaryCallBase = Void; + predicate neutralElement( Input::SummarizedCallableBase c, string kind, string provenance, boolean isExact ) { @@ -144,6 +146,10 @@ private module TypesInput implements Impl::Private::TypesInputSig { } private module StepsInput implements Impl::Private::StepsInputSig { + Impl::Private::SummaryNode getSummaryNode(Node n) { + result = n.(FlowSummaryNode).getSummaryNode() + } + DataFlowCall getACall(Public::SummarizedCallable sc) { sc = viableCallable(result).asSummarizedCallable() } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll index 5f1d6b66af5..dc6b075aed3 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll @@ -145,8 +145,8 @@ private module Cached { ) ) or - FlowSummaryImpl::Private::Steps::summaryLocalStep(src.(DataFlowPrivate::FlowSummaryNode) - .getSummaryNode(), sink.(DataFlowPrivate::FlowSummaryNode).getSummaryNode(), false, model) + FlowSummaryImpl::Private::Steps::summaryLocalStep(src, + sink.(DataFlowPrivate::FlowSummaryNode).getSummaryNode(), false, model) } /**