crypto/bn/bn_recp.c:76: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `BN_div_recp`.
Showing all 14 steps of the trace


crypto/bn/bn_recp.c:54:1: Parameter `*x->d`
52.   }
53.   
54. > int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
55.                             BN_RECP_CTX *recp, BN_CTX *ctx)
56.   {

crypto/bn/bn_recp.c:76:11: Call
74.           ca = x;                 /* Just do the mod */
75.   
76.       ret = BN_div_recp(NULL, r, ca, recp, ctx);
                ^
77.    err:
78.       BN_CTX_end(ctx);

crypto/bn/bn_recp.c:83:1: Parameter `*m->d`
  81.   }
  82.   
  83. > int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
  84.                   BN_RECP_CTX *recp, BN_CTX *ctx)
  85.   {

crypto/bn/bn_recp.c:103:9: Call
  101.           goto err;
  102.   
  103.       if (BN_ucmp(m, &(recp->N)) < 0) {
                 ^
  104.           BN_zero(d);
  105.           if (!BN_copy(r, m)) {

crypto/bn/bn_lib.c:623:1: Parameter `*a->d`
    621.   }
    622.   
    623. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
    624.   {
    625.       int i;

crypto/bn/bn_recp.c:119:9: Call
  117.   
  118.       /* i := max(BN_num_bits(m), 2*BN_num_bits(N)) */
  119.       i = BN_num_bits(m);
                 ^
  120.       j = recp->num_bits << 1;
  121.       if (j > i)

crypto/bn/bn_lib.c:161:1: Parameter `*a->d`
    159.   }
    160.   
    161. > int BN_num_bits(const BIGNUM *a)
    162.   {
    163.       int i = a->top - 1;

crypto/bn/bn_recp.c:137:10: Call
  135.        *    = |m/N|
  136.        */
  137.       if (!BN_rshift(a, m, recp->num_bits))
                  ^
  138.           goto err;
  139.       if (!BN_mul(b, a, &(recp->Nr), ctx))

crypto/bn/bn_shift.c:120:1: Parameter `*a->d`
    118.   }
    119.   
    120. > int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
    121.   {
    122.       int i, j, nw, lb, rb;

crypto/bn/bn_recp.c:147:10: Call
  145.       if (!BN_mul(b, &(recp->N), d, ctx))
  146.           goto err;
  147.       if (!BN_usub(r, m, b))
                  ^
  148.           goto err;
  149.       r->neg = 0;

crypto/bn/bn_add.c:117:1: <LHS trace>
115.   
116.   /* unsigned subtraction of b from a, a must be larger than b. */
117. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
118.   {
119.       int max, min, dif;

crypto/bn/bn_add.c:117:1: Parameter `*a->d`
    115.   
    116.   /* unsigned subtraction of b from a, a must be larger than b. */
    117. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
    118.   {
    119.       int max, min, dif;

crypto/bn/bn_add.c:169:13: Assignment
    167.           while (dif) {
    168.               dif--;
    169.               t1 = *(ap++);
                       ^
    170.               t2 = (t1 - 1) & BN_MASK2;
    171.               *(rp++) = t2;

crypto/bn/bn_add.c:170:13: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_div_recp` 
    168.               dif--;
    169.               t1 = *(ap++);
    170.               t2 = (t1 - 1) & BN_MASK2;
                       ^
    171.               *(rp++) = t2;
    172.               if (t1)
