Skip to content

Commit dd1bed0

Browse files
authored
Merge pull request #6721 from aschackmull/dataflow/subpaths01-joinorder
Dataflow: Fix join-order in subpaths01
2 parents 4adb0c7 + 044623a commit dd1bed0

File tree

25 files changed

+75
-50
lines changed

25 files changed

+75
-50
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,9 +3643,10 @@ private module Subpaths {
36433643
PathNode arg, ParamNodeEx par, SummaryCtxSome sc, CallContext innercc, ReturnKindExt kind,
36443644
NodeEx out, AccessPath apout
36453645
) {
3646-
pathThroughCallable(arg, out, _, apout) and
3646+
pathThroughCallable(arg, out, _, pragma[only_bind_into](apout)) and
36473647
pathIntoCallable(arg, par, _, innercc, sc, _) and
3648-
paramFlowsThrough(kind, innercc, sc, apout, _, unbindConf(arg.getConfiguration()))
3648+
paramFlowsThrough(kind, innercc, sc, pragma[only_bind_into](apout), _,
3649+
unbindConf(arg.getConfiguration()))
36493650
}
36503651

36513652
/**

0 commit comments

Comments
 (0)