Skip to content

Commit 2d8d967

Browse files
committed
Dataflow: Address review comment.
1 parent 5aa9c2b commit 2d8d967

File tree

23 files changed

+184
-115
lines changed

23 files changed

+184
-115
lines changed

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -850,7 +850,7 @@ private module Stage2 {
850850
ap = getApNil(node)
851851
or
852852
exists(Node mid, Ap ap0, LocalCc localCc |
853-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
853+
fwdFlow(mid, cc, argAp, ap0, config) and
854854
localCc = getLocalCc(mid, cc, config)
855855
|
856856
localStep(mid, node, true, _, config, localCc) and
@@ -1489,7 +1489,7 @@ private module Stage3 {
14891489
ap = getApNil(node)
14901490
or
14911491
exists(Node mid, Ap ap0, LocalCc localCc |
1492-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
1492+
fwdFlow(mid, cc, argAp, ap0, config) and
14931493
localCc = getLocalCc(mid, cc, config)
14941494
|
14951495
localStep(mid, node, true, _, config, localCc) and
@@ -2133,8 +2133,11 @@ private module Stage4 {
21332133

21342134
bindingset[node, cc, config]
21352135
private LocalCc getLocalCc(Node node, Cc cc, Configuration config) {
2136-
localFlowEntry(node, config) and
2137-
result = getLocalCallContext(cc, getNodeEnclosingCallable(node))
2136+
exists(Cc cc0 |
2137+
cc = pragma[only_bind_into](cc0) and
2138+
localFlowEntry(node, config) and
2139+
result = getLocalCallContext(cc0, getNodeEnclosingCallable(node))
2140+
)
21382141
}
21392142

21402143
private predicate localStep(
@@ -2206,7 +2209,7 @@ private module Stage4 {
22062209
ap = getApNil(node)
22072210
or
22082211
exists(Node mid, Ap ap0, LocalCc localCc |
2209-
fwdFlow(mid, pragma[only_bind_into](cc), argAp, ap0, config) and
2212+
fwdFlow(mid, cc, argAp, ap0, config) and
22102213
localCc = getLocalCc(mid, cc, config)
22112214
|
22122215
localStep(mid, node, true, _, config, localCc) and

0 commit comments

Comments
 (0)