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:105:1: Parameter `*x->d`
103.   	}
104.   
105. > int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
106.   	BN_RECP_CTX *recp, BN_CTX *ctx)
107.   	{

crypto/bn/bn_recp.c:125:8: 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:151:6: Call
  149.   	if (a == NULL || b == NULL || d == NULL || r == NULL) goto err;
  150.   
  151.   	if (BN_ucmp(m,&(recp->N)) < 0)
              ^
  152.   		{
  153.   		BN_zero(d);

crypto/bn/bn_lib.c:641:1: Parameter `*a->d`
    639.   	}
    640.   
    641. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
    642.   	{
    643.   	int i;

crypto/bn/bn_recp.c:166:4: 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) i=j;

crypto/bn/bn_lib.c:233:1: Parameter `*a->d`
    231.   	}
    232.   
    233. > int BN_num_bits(const BIGNUM *a)
    234.   	{
    235.   	int i = a->top - 1;

crypto/bn/bn_recp.c:181:7: Call
  179.   	 *    = |m/N|
  180.   	 */
  181.   	if (!BN_rshift(a,m,recp->num_bits)) goto err;
               ^
  182.   	if (!BN_mul(b,a,&(recp->Nr),ctx)) goto err;
  183.   	if (!BN_rshift(d,b,i-recp->num_bits)) goto err;

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

crypto/bn/bn_recp.c:187:7: Call
  185.   
  186.   	if (!BN_mul(b,&(recp->N),d,ctx)) goto err;
  187.   	if (!BN_usub(r,m,b)) goto err;
               ^
  188.   	r->neg=0;
  189.   

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

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

crypto/bn/bn_add.c:231:4: Assignment
    229.   			{
    230.   			dif--;
    231.   			t1 = *(ap++);
              ^
    232.   			t2 = (t1-1)&BN_MASK2;
    233.   			*(rp++) = t2;

crypto/bn/bn_add.c:232:4: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_div_recp` 
    230.   			dif--;
    231.   			t1 = *(ap++);
    232.   			t2 = (t1-1)&BN_MASK2;
              ^
    233.   			*(rp++) = t2;
    234.   			if (t1)
