From c0fd44c909f58984aa06e727cc375e7142e43dc7 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Wed, 15 Sep 2021 16:10:54 +0200 Subject: [PATCH] Dataflow: Sync. --- cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll | 4 ++-- .../lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll | 4 ++-- .../lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll | 4 ++-- .../lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll | 4 ++-- .../semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll | 4 ++-- .../lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll | 4 ++-- .../semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll | 4 ++-- .../semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll | 4 ++-- .../semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll | 4 ++-- .../lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll | 4 ++-- .../semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll | 4 ++-- .../semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll | 4 ++-- .../semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll | 4 ++-- .../semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll | 4 ++-- .../lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll | 4 ++-- .../lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll | 4 ++-- .../lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll | 4 ++-- .../lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll | 4 ++-- .../lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll | 4 ++-- .../java/dataflow/internal/DataFlowImplForSerializability.qll | 4 ++-- .../lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll | 4 ++-- .../lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll | 4 ++-- .../lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll | 4 ++-- .../lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll | 4 ++-- 24 files changed, 48 insertions(+), 48 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll index 758b70ec316..6e7283c4153 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll index 758b70ec316..6e7283c4153 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll index 758b70ec316..6e7283c4153 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll index 758b70ec316..6e7283c4153 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll index 758b70ec316..6e7283c4153 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll index 758b70ec316..6e7283c4153 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll index 758b70ec316..6e7283c4153 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll index 758b70ec316..6e7283c4153 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll index 758b70ec316..6e7283c4153 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl2.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll index 758b70ec316..6e7283c4153 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl3.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and diff --git a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll index 758b70ec316..6e7283c4153 100644 --- a/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll +++ b/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowImpl4.qll @@ -3690,8 +3690,8 @@ private module Subpaths { */ predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) { exists(ParamNodeEx p, NodeEx o, AccessPath apout | - arg.getASuccessor() = par and - arg.getASuccessor() = out and + pragma[only_bind_into](arg).getASuccessor() = par and + pragma[only_bind_into](arg).getASuccessor() = out and subpaths03(arg, p, ret, o, apout) and par.getNodeEx() = p and out.getNodeEx() = o and