CodeQL library for Java
codeql/java-all 0.3.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)