Skip to content

Commit dddba32

Browse files
authored
Merge pull request github#15867 from hvitved/dataflow/ap-limit
Data flow: Add `ConfigSig::accessPathLimit`
2 parents 5085121 + d7790fa commit dddba32

File tree

34 files changed

+89
-11
lines changed

34 files changed

+89
-11
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ deprecated private module Config implements FullStateConfigSig {
285285

286286
int fieldFlowBranchLimit() { result = min(any(Configuration config).fieldFlowBranchLimit()) }
287287

288+
int accessPathLimit() { result = 5 }
289+
288290
FlowFeature getAFeature() { result = any(Configuration config).getAFeature() }
289291

290292
predicate sourceGrouping(Node source, string sourceGroup) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ module Global<ConfigSig ContentConfig> {
109109

110110
DataFlow::FlowFeature getAFeature() { result = ContentConfig::getAFeature() }
111111

112+
predicate accessPathLimit = ContentConfig::accessPathLimit/0;
113+
112114
// needed to record reads/stores inside summarized callables
113115
predicate includeHiddenNodes() { any() }
114116
}

0 commit comments

Comments
 (0)