CodeQL library for Java
codeql/java-all 0.6.2 ( changelog , source )
Search

Predicate exprModulus

Holds if e is equal to b + val modulo mod.

There are two cases for the modulus:

  • mod = 0: The equality e = b + val is an ordinary equality.
  • mod > 1: val lies within the range [0 .. mod-1].

Import path

import semmle.code.java.dataflow.ModulusAnalysis
predicate exprModulus ( Expr e , Bound b , int val , int mod )