crypto/bn/bn_mont.c:492: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_div`.
Showing all 17 steps of the trace


crypto/bn/bn_mont.c:481:8: Call
479.   		tmod.top = buf[0] != 0 ? 1 : 0;
480.   							/* Ri = R^-1 mod N*/
481.   		if ((BN_mod_inverse(Ri,R,&tmod,ctx)) == NULL)
              ^
482.   			goto err;
483.   		if (!BN_lshift(Ri,Ri,BN_BITS2)) goto err; /* R*Ri */

crypto/bn/bn_gcd.c:216:7: Call
  214.   	BIGNUM *rv;
  215.   	int noinv;
  216.   	rv = int_bn_mod_inverse(in, a, n, ctx, &noinv);
               ^
  217.   	if (noinv)
  218.   		BNerr(BN_F_BN_MOD_INVERSE,BN_R_NO_INVERSE);

crypto/bn/bn_gcd.c:222:1: Parameter `ctx->stack.depth`
    220.   	}
    221.   
    222. > BIGNUM *int_bn_mod_inverse(BIGNUM *in,
    223.   	const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx, int *pnoinv)
    224.   	{

crypto/bn/bn_gcd.c:240:2: Call
    238.   	bn_check_top(n);
    239.   
    240.   	BN_CTX_start(ctx);
            ^
    241.   	A = BN_CTX_get(ctx);
    242.   	B = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:257:1: Parameter `ctx->stack.depth`
      255.   	}
      256.   
      257. > void BN_CTX_start(BN_CTX *ctx)
      258.   	{
      259.   	CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_gcd.c:515:2: Call
    513.   err:
    514.   	if ((ret == NULL) && (in == NULL)) BN_free(R);
    515.   	BN_CTX_end(ctx);
            ^
    516.   	bn_check_top(ret);
    517.   	return(ret);

crypto/bn/bn_ctx.c:272:1: Parameter `ctx->stack.depth`
      270.   	}
      271.   
      272. > void BN_CTX_end(BN_CTX *ctx)
      273.   	{
      274.   	CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/bn/bn_mont.c:492:8: Call
490.   			if (!BN_set_word(Ri,BN_MASK2)) goto err;  /* Ri-- (mod word size) */
491.   			}
492.   		if (!BN_div(Ri,NULL,Ri,&tmod,ctx)) goto err;
              ^
493.   		/* Ni = (R*Ri-1)/N,
494.   		 * keep only least significant word: */

crypto/bn/bn_div.c:183:1: Parameter `ctx->stack.depth`
  181.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
  182.    */
  183. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
  184.   	   BN_CTX *ctx)
  185.   	{

crypto/bn/bn_div.c:228:2: Call
  226.   		}
  227.   
  228.   	BN_CTX_start(ctx);
          ^
  229.   	tmp=BN_CTX_get(ctx);
  230.   	snum=BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:257:1: Parameter `ctx->stack.depth`
    255.   	}
    256.   
    257. > void BN_CTX_start(BN_CTX *ctx)
    258.   	{
    259.   	CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_div.c:443:2: Call
  441.   		}
  442.   	if (no_branch)	bn_correct_top(res);
  443.   	BN_CTX_end(ctx);
          ^
  444.   	return(1);
  445.   err:

crypto/bn/bn_ctx.c:272:1: Parameter `ctx->stack.depth`
    270.   	}
    271.   
    272. > void BN_CTX_end(BN_CTX *ctx)
    273.   	{
    274.   	CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/bn/bn_ctx.c:279:21: Call
    277.   	else
    278.   		{
    279.   		unsigned int fp = BN_STACK_pop(&ctx->stack);
                               ^
    280.   		/* Does this stack frame have anything to release? */
    281.   		if(fp < ctx->used)

crypto/bn/bn_ctx.c:353:1: <LHS trace>
351.   	}
352.   
353. > static unsigned int BN_STACK_pop(BN_STACK *st)
354.   	{
355.   	return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:353:1: Parameter `st->depth`
      351.   	}
      352.   
      353. > static unsigned int BN_STACK_pop(BN_STACK *st)
      354.   	{
      355.   	return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:355:9: Binary operation: ([0, +oo] - 1):unsigned32 by call to `BN_div` 
      353.   static unsigned int BN_STACK_pop(BN_STACK *st)
      354.   	{
      355.   	return st->indexes[--(st->depth)];
                     ^
      356.   	}
      357.   
