From 37a69b4569ee4cb6cbbbcdeb46f3faa505776db8 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 8 Nov 2022 10:51:30 +0100 Subject: [PATCH] Ruby: Avoid stage recomputation --- .../codeql/ruby/regexp/internal/RegExpConfiguration.qll | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpConfiguration.qll b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpConfiguration.qll index 3c451b15b78..5c08054ac14 100644 --- a/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpConfiguration.qll +++ b/ruby/ql/lib/codeql/ruby/regexp/internal/RegExpConfiguration.qll @@ -7,8 +7,7 @@ private import codeql.ruby.dataflow.internal.DataFlowImplForRegExp private import codeql.ruby.typetracking.TypeTracker private import codeql.ruby.ApiGraphs private import codeql.ruby.dataflow.internal.DataFlowPrivate as DataFlowPrivate -private import codeql.ruby.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl -private import codeql.ruby.dataflow.FlowSummary as FlowSummary +private import codeql.ruby.TaintTracking private import codeql.ruby.frameworks.core.String class RegExpConfiguration extends Configuration { @@ -38,8 +37,8 @@ class RegExpConfiguration extends Configuration { } override predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { - // include taint flow through `String` summaries, - FlowSummaryImpl::Private::Steps::summaryLocalStep(nodeFrom, nodeTo, false) and + // include taint flow through `String` summaries + TaintTracking::localTaintStep(nodeFrom, nodeTo) and nodeFrom.(DataFlowPrivate::SummaryNode).getSummarizedCallable() instanceof String::SummarizedCallable or