crypto/bn/bn_recp.c:125: 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:103:1: Parameter `*x->d`
101.   }
102.   
103. > int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
104.                             BN_RECP_CTX *recp, BN_CTX *ctx)
105.   {

crypto/bn/bn_recp.c:125:11: Call
123.           ca = x;                 /* Just do the mod */
124.   
125.       ret = BN_div_recp(NULL, r, ca, recp, ctx);
                 ^
126.    err:
127.       BN_CTX_end(ctx);

crypto/bn/bn_recp.c:132:1: Parameter `*m->d`
  130.   }
  131.   
  132. > int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
  133.                   BN_RECP_CTX *recp, BN_CTX *ctx)
  134.   {

crypto/bn/bn_recp.c:152:9: Call
  150.           goto err;
  151.   
  152.       if (BN_ucmp(m, &(recp->N)) < 0) {
                 ^
  153.           BN_zero(d);
  154.           if (!BN_copy(r, m))

crypto/bn/bn_lib.c:604:1: Parameter `*a->d`
    602.   }
    603.   
    604. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
    605.   {
    606.       int i;

crypto/bn/bn_recp.c:166:9: Call
  164.   
  165.       /* i := max(BN_num_bits(m), 2*BN_num_bits(N)) */
  166.       i = BN_num_bits(m);
                 ^
  167.       j = recp->num_bits << 1;
  168.       if (j > i)

crypto/bn/bn_lib.c:216:1: Parameter `*a->d`
    214.   }
    215.   
    216. > int BN_num_bits(const BIGNUM *a)
    217.   {
    218.       int i = a->top - 1;

crypto/bn/bn_recp.c:184:10: Call
  182.        *    = |m/N|
  183.        */
  184.       if (!BN_rshift(a, m, recp->num_bits))
                  ^
  185.           goto err;
  186.       if (!BN_mul(b, a, &(recp->Nr), ctx))

crypto/bn/bn_shift.c:167:1: Parameter `*a->d`
    165.   }
    166.   
    167. > int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
    168.   {
    169.       int i, j, nw, lb, rb;

crypto/bn/bn_recp.c:194:10: Call
  192.       if (!BN_mul(b, &(recp->N), d, ctx))
  193.           goto err;
  194.       if (!BN_usub(r, m, b))
                  ^
  195.           goto err;
  196.       r->neg = 0;

crypto/bn/bn_add.c:166:1: <LHS trace>
164.   
165.   /* unsigned subtraction of b from a, a must be larger than b. */
166. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
167.   {
168.       int max, min, dif;

crypto/bn/bn_add.c:166:1: Parameter `*a->d`
    164.   
    165.   /* unsigned subtraction of b from a, a must be larger than b. */
    166. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
    167.   {
    168.       int max, min, dif;

crypto/bn/bn_add.c:218:13: Assignment
    216.           while (dif) {
    217.               dif--;
    218.               t1 = *(ap++);
                       ^
    219.               t2 = (t1 - 1) & BN_MASK2;
    220.               *(rp++) = t2;

crypto/bn/bn_add.c:219:13: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_div_recp` 
    217.               dif--;
    218.               t1 = *(ap++);
    219.               t2 = (t1 - 1) & BN_MASK2;
                       ^
    220.               *(rp++) = t2;
    221.               if (t1)
