From 8092345fee92ba63c37828af59dc2893964de4f5 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 25 Mar 2025 17:13:03 +0000 Subject: [PATCH] PS: Make type-tracking and taint-tracking compile again. --- .../powershell/dataflow/internal/TaintTrackingPrivate.qll | 2 +- .../powershell/typetracking/internal/TypeTrackingImpl.qll | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPrivate.qll b/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPrivate.qll index 8cc0f0a8722..9c6132c7a29 100644 --- a/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPrivate.qll +++ b/powershell/ql/lib/semmle/code/powershell/dataflow/internal/TaintTrackingPrivate.qll @@ -41,7 +41,7 @@ private module Cached { ) or // Flow through string interpolation - exists(CfgNodes::ExprNodes::ExpandableStringCfgNode es | + exists(CfgNodes::ExprNodes::ExpandableStringExprCfgNode es | nodeFrom.asExpr() = es.getAnExpr() and nodeTo.asExpr() = es ) diff --git a/powershell/ql/lib/semmle/code/powershell/typetracking/internal/TypeTrackingImpl.qll b/powershell/ql/lib/semmle/code/powershell/typetracking/internal/TypeTrackingImpl.qll index dcebe6117b5..36a605c25dc 100644 --- a/powershell/ql/lib/semmle/code/powershell/typetracking/internal/TypeTrackingImpl.qll +++ b/powershell/ql/lib/semmle/code/powershell/typetracking/internal/TypeTrackingImpl.qll @@ -15,7 +15,8 @@ private import codeql.util.Unit pragma[noinline] private predicate sourceArgumentPositionMatch( - CallCfgNode call, DataFlowPrivate::ArgumentNode arg, DataFlowDispatch::ParameterPosition ppos + ExprNodes::CallExprCfgNode call, DataFlowPrivate::ArgumentNode arg, + DataFlowDispatch::ParameterPosition ppos ) { exists(DataFlowDispatch::ArgumentPosition apos | arg.sourceArgumentOf(call, apos) and @@ -213,7 +214,7 @@ module TypeTrackingInput implements Shared::TypeTrackingInput { * Holds if `nodeFrom` steps to `nodeTo` by being returned from a call. */ predicate returnStep(Node nodeFrom, LocalSourceNode nodeTo) { - exists(CallCfgNode call | + exists(ExprNodes::CallExprCfgNode call | nodeFrom instanceof DataFlowPrivate::ReturnNode and nodeFrom.(DataFlowPrivate::NodeImpl).getCfgScope() = DataFlowDispatch::getTarget(DataFlowDispatch::TNormalCall(call)) and