File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed
java/ql/lib/semmle/code/java/security Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,14 @@ module ArithmeticUncontrolledOverflowConfig implements DataFlow::ConfigSig {
19
19
predicate isSink ( DataFlow:: Node sink ) { overflowSink ( _, sink .asExpr ( ) ) }
20
20
21
21
predicate isBarrier ( DataFlow:: Node n ) { overflowBarrier ( n ) }
22
+
23
+ predicate observeDiffInformedIncrementalMode ( ) {
24
+ any ( ) // merged with ArithmeticUncontrolledUnderflow in ArithmeticUncontrolled.ql
25
+ }
26
+
27
+ Location getASelectedSinkLocation ( DataFlow:: Node sink ) {
28
+ exists ( ArithExpr exp | result = exp .getLocation ( ) | overflowSink ( exp , sink .asExpr ( ) ) )
29
+ }
22
30
}
23
31
24
32
/** Taint-tracking flow to reason about overflow from arithmetic with uncontrolled values. */
@@ -32,6 +40,14 @@ module ArithmeticUncontrolledUnderflowConfig implements DataFlow::ConfigSig {
32
40
predicate isSink ( DataFlow:: Node sink ) { underflowSink ( _, sink .asExpr ( ) ) }
33
41
34
42
predicate isBarrier ( DataFlow:: Node n ) { underflowBarrier ( n ) }
43
+
44
+ predicate observeDiffInformedIncrementalMode ( ) {
45
+ any ( ) // merged with ArithmeticUncontrolledOverflow in ArithmeticUncontrolled.ql
46
+ }
47
+
48
+ Location getASelectedSinkLocation ( DataFlow:: Node sink ) {
49
+ exists ( ArithExpr exp | result = exp .getLocation ( ) | underflowSink ( exp , sink .asExpr ( ) ) )
50
+ }
35
51
}
36
52
37
53
/** Taint-tracking flow to reason about underflow from arithmetic with uncontrolled values. */
You can’t perform that action at this time.
0 commit comments