diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll index d9f5acdd279a..71f115c5a483 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll index d9f5acdd279a..71f115c5a483 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll index d9f5acdd279a..71f115c5a483 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll index d9f5acdd279a..71f115c5a483 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll index d9f5acdd279a..71f115c5a483 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll index d9f5acdd279a..71f115c5a483 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll index d9f5acdd279a..71f115c5a483 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl2.qll index d9f5acdd279a..71f115c5a483 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl2.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl2.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl3.qll index d9f5acdd279a..71f115c5a483 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl3.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl3.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl4.qll index d9f5acdd279a..71f115c5a483 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl4.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl4.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl5.qll index d9f5acdd279a..71f115c5a483 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl5.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl5.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl.qll b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl.qll index d9f5acdd279a..71f115c5a483 100644 --- a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl.qll +++ b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl2.qll b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl2.qll index d9f5acdd279a..71f115c5a483 100644 --- a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl2.qll +++ b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl2.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl3.qll b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl3.qll index d9f5acdd279a..71f115c5a483 100644 --- a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl3.qll +++ b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl3.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) } diff --git a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl4.qll b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl4.qll index d9f5acdd279a..71f115c5a483 100644 --- a/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl4.qll +++ b/python/ql/src/semmle/python/dataflow/new/internal/DataFlowImpl4.qll @@ -86,7 +86,7 @@ abstract class Configuration extends string { * This can be overridden to a smaller value to improve performance (a * value of 0 disables field flow), or a larger value to get more results. */ - int fieldFlowBranchLimit() { result = 2 } + int fieldFlowBranchLimit() { result = 1 } /** * Holds if data may flow from `source` to `sink` for this configuration. @@ -703,8 +703,12 @@ private predicate flowIntoCallNodeCand1( */ private int branch(Node n1, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n1, n, conf) or flowIntoCallNodeCand1(_, n1, n, conf) + | + callable = n.getEnclosingCallable() + ) ) } @@ -715,8 +719,12 @@ private int branch(Node n1, Configuration conf) { */ private int join(Node n2, Configuration conf) { result = - strictcount(Node n | - flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + strictcount(DataFlowCallable callable | + exists(Node n | + flowOutOfCallNodeCand1(_, n, n2, conf) or flowIntoCallNodeCand1(_, n, n2, conf) + | + callable = n.getEnclosingCallable() + ) ) }