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

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

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

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

crypto/bn/bn_lib.c:591:1: Parameter `*a->d`
    589.   	}
    590.   
    591. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
    592.   	{
    593.   	int i;

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

crypto/bn/bn_lib.c:231:1: Parameter `*a->d`
    229.   	}
    230.   
    231. > int BN_num_bits(const BIGNUM *a)
    232.   	{
    233.   	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:170:1: Parameter `*a->d`
    168.   	}
    169.   
    170. > int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
    171.   	{
    172.   	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:169:1: <LHS trace>
167.   
168.   /* unsigned subtraction of b from a, a must be larger than b. */
169. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
170.   	{
171.   	int max,min,dif;

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

crypto/bn/bn_add.c:227:4: Assignment
    225.   			{
    226.   			dif--;
    227.   			t1 = *(ap++);
              ^
    228.   			t2 = (t1-1)&BN_MASK2;
    229.   			*(rp++) = t2;

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