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


crypto/bn/bn_recp.c:223:10: Call
221.   
222.   	BN_CTX_start(ctx);
223.   	if((t = BN_CTX_get(ctx)) == NULL) goto err;
                ^
224.   
225.   	if (!BN_set_bit(t,len)) goto err;

crypto/bn/bn_ctx.c:302:2: Call
  300.   		}
  301.   	/* OK, make sure the returned bignum is "zero" */
  302.   	BN_zero(ret);
          ^
  303.   	ctx->used++;
  304.   	CTXDBG_RET(ctx, ret);

crypto/bn/bn_lib.c:586:1: Parameter `a->top`
    584.   	}
    585.   
    586. > int BN_set_word(BIGNUM *a, BN_ULONG w)
    587.   	{
    588.   	bn_check_top(a);

crypto/bn/bn_recp.c:225:7: Call
223.   	if((t = BN_CTX_get(ctx)) == NULL) goto err;
224.   
225.   	if (!BN_set_bit(t,len)) goto err;
             ^
226.   
227.   	if (!BN_div(r,NULL,t,m,ctx)) goto err;

crypto/bn/bn_lib.c:719:1: Parameter `a->top`
  717.   	}
  718.   
  719. > int BN_set_bit(BIGNUM *a, int n)
  720.   	{
  721.   	size_t i,j,k;

crypto/bn/bn_recp.c:227:7: Call
225.   	if (!BN_set_bit(t,len)) goto err;
226.   
227.   	if (!BN_div(r,NULL,t,m,ctx)) goto err;
             ^
228.   
229.   	ret=len;

crypto/bn/bn_div.c:181:1: Parameter `num->top`
  179.   static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
  180.           const BIGNUM *divisor, BN_CTX *ctx);
  181. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
  182.   	   BN_CTX *ctx)
  183.   	{

crypto/bn/bn_div.c:204:10: Call
  202.   	if ((BN_get_flags(num, BN_FLG_CONSTTIME) != 0) || (BN_get_flags(divisor, BN_FLG_CONSTTIME) != 0))
  203.   		{
  204.   		return BN_div_no_branch(dv, rm, num, divisor, ctx);
                  ^
  205.   		}
  206.   

crypto/bn/bn_div.c:426:1: Parameter `num->top`
    424.    * branches that may leak sensitive information.
    425.    */
    426. > static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, 
    427.   	const BIGNUM *divisor, BN_CTX *ctx)
    428.   	{

crypto/bn/bn_div.c:460:8: Call
    458.   	sdiv->neg=0;
    459.   	norm_shift+=BN_BITS2;
    460.   	if (!(BN_lshift(snum,num,norm_shift))) goto err;
                  ^
    461.   	snum->neg=0;
    462.   

crypto/bn/bn_shift.c:132:1: <LHS trace>
130.   	}
131.   
132. > int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
133.   	{
134.   	int i,nw,lb,rb;

crypto/bn/bn_shift.c:132:1: Parameter `a->top`
      130.   	}
      131.   
      132. > int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
      133.   	{
      134.   	int i,nw,lb,rb;

crypto/bn/bn_shift.c:150:8: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_div` 
      148.   	t[a->top+nw]=0;
      149.   	if (lb == 0)
      150.   		for (i=a->top-1; i>=0; i--)
                    ^
      151.   			t[nw+i]=f[i];
      152.   	else
