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


crypto/bn/bn_mont.c:423:8: Call
421.   		tmod.top = buf[0] != 0 ? 1 : 0;
422.   							/* Ri = R^-1 mod N*/
423.   		if ((BN_mod_inverse(Ri,R,&tmod,ctx)) == NULL)
              ^
424.   			goto err;
425.   		if (!BN_lshift(Ri,Ri,BN_BITS2)) goto err; /* R*Ri */

crypto/bn/bn_gcd.c:206:1: Parameter `ctx->stack.depth`
  204.   
  205.   /* solves ax == 1 (mod n) */
  206. > BIGNUM *BN_mod_inverse(BIGNUM *in,
  207.   	const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
  208.   	{

crypto/bn/bn_gcd.c:221:2: Call
  219.   	bn_check_top(n);
  220.   
  221.   	BN_CTX_start(ctx);
          ^
  222.   	A = BN_CTX_get(ctx);
  223.   	B = BN_CTX_get(ctx);

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

crypto/bn/bn_gcd.c:495:2: Call
  493.   err:
  494.   	if ((ret == NULL) && (in == NULL)) BN_free(R);
  495.   	BN_CTX_end(ctx);
          ^
  496.   	bn_check_top(ret);
  497.   	return(ret);

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

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

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

crypto/bn/bn_div.c:190:10: Call
  188.   	if ((BN_get_flags(num, BN_FLG_CONSTTIME) != 0) || (BN_get_flags(divisor, BN_FLG_CONSTTIME) != 0))
  189.   		{
  190.   		return BN_div_no_branch(dv, rm, num, divisor, ctx);
                  ^
  191.   		}
  192.   

crypto/bn/bn_div.c:409:1: Parameter `ctx->stack.depth`
    407.    * branches that may leak sensitive information.
    408.    */
    409. > int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, 
    410.   	const BIGNUM *divisor, BN_CTX *ctx)
    411.   	{

crypto/bn/bn_div.c:429:2: Call
    427.   		}
    428.   
    429.   	BN_CTX_start(ctx);
            ^
    430.   	tmp=BN_CTX_get(ctx);
    431.   	snum=BN_CTX_get(ctx);

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

crypto/bn/bn_div.c:622:2: Call
    620.   		}
    621.   	bn_correct_top(res);
    622.   	BN_CTX_end(ctx);
            ^
    623.   	return(1);
    624.   err:

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

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

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

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

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