Skip to content

Commit 236ffc8

Browse files
authored
Merge pull request #6700 from aschackmull/dataflow/subpaths-joinorder
Dataflow: Fix bad joinorder in subpaths
2 parents f76ce8b + c0fd44c commit 236ffc8

File tree

25 files changed

+50
-50
lines changed

25 files changed

+50
-50
lines changed

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3690,8 +3690,8 @@ private module Subpaths {
36903690
*/
36913691
predicate subpaths(PathNode arg, PathNodeImpl par, PathNodeMid ret, PathNodeMid out) {
36923692
exists(ParamNodeEx p, NodeEx o, AccessPath apout |
3693-
arg.getASuccessor() = par and
3694-
arg.getASuccessor() = out and
3693+
pragma[only_bind_into](arg).getASuccessor() = par and
3694+
pragma[only_bind_into](arg).getASuccessor() = out and
36953695
subpaths03(arg, p, ret, o, apout) and
36963696
par.getNodeEx() = p and
36973697
out.getNodeEx() = o and

0 commit comments

Comments
 (0)