From 4e8a1144f214901cb6aae55d71d3d4209d1c9122 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Fri, 7 Jul 2023 14:09:30 +0200 Subject: [PATCH] Python: Remove explicit jumpStep for default parameter values tests added in https://github.com/github/codeql/pull/5238 functionality added in https://github.com/github/codeql/pull/6640 --- .../dataflow/new/internal/DataFlowPrivate.qll | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll index 1569a62b2e9..d6d8d0c1297 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPrivate.qll @@ -576,9 +576,6 @@ predicate jumpStepSharedWithTypeTracker(Node nodeFrom, Node nodeTo) { r.getAttributeName(), nodeFrom) and nodeTo = r ) - or - // Default value for parameter flows to that parameter - defaultValueFlowStep(nodeFrom, nodeTo) } /** @@ -799,19 +796,6 @@ predicate attributeStoreStep(Node nodeFrom, AttributeContent c, PostUpdateNode n ) } -predicate defaultValueFlowStep(CfgNode nodeFrom, CfgNode nodeTo) { - exists(Function f, Parameter p, ParameterDefinition def | - // `getArgByName` supports, unlike `getAnArg`, keyword-only parameters - p = f.getArgByName(_) and - nodeFrom.asExpr() = p.getDefault() and - // The following expresses - // nodeTo.(ParameterNode).getParameter() = p - // without non-monotonic recursion - def.getParameter() = p and - nodeTo.getNode() = def.getDefiningNode() - ) -} - /** * Holds if data can flow from `nodeFrom` to `nodeTo` via a read of content `c`. */