crypto/dsa/dsa_ossl.c:397: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_mod_mul`.
Showing all 27 steps of the trace


crypto/dsa/dsa_ossl.c:383:7: Call
381.   	/* Calculate W = inv(S) mod Q
382.   	 * save W in u2 */
383.   	if ((BN_mod_inverse(u2,sig->s,dsa->q,ctx)) == NULL) goto err;
             ^
384.   
385.   	/* save M in u1 */

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:256:1: Parameter `ctx->stack.depth`
      254.   	}
      255.   
      256. > void BN_CTX_start(BN_CTX *ctx)
      257.   	{
      258.   	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:271:1: Parameter `ctx->stack.depth`
      269.   	}
      270.   
      271. > void BN_CTX_end(BN_CTX *ctx)
      272.   	{
      273.   	CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/dsa/dsa_ossl.c:394:7: Call
392.   
393.   	/* u1 = M * w mod q */
394.   	if (!BN_mod_mul(u1,u1,u2,dsa->q,ctx)) goto err;
             ^
395.   
396.   	/* u2 = r * w mod q */

crypto/bn/bn_mod.c:180:1: Parameter `ctx->stack.depth`
  178.   
  179.   /* slow but works */
  180. > int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
  181.   	BN_CTX *ctx)
  182.   	{

crypto/bn/bn_mod.c:190:2: Call
  188.   	bn_check_top(m);
  189.   
  190.   	BN_CTX_start(ctx);
          ^
  191.   	if ((t = BN_CTX_get(ctx)) == NULL) goto err;
  192.   	if (a == b)

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

crypto/bn/bn_mod.c:200:2: Call
  198.   	ret=1;
  199.   err:
  200.   	BN_CTX_end(ctx);
          ^
  201.   	return(ret);
  202.   	}

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

crypto/dsa/dsa_ossl.c:397:7: Call
395.   
396.   	/* u2 = r * w mod q */
397.   	if (!BN_mod_mul(u2,sig->r,u2,dsa->q,ctx)) goto err;
             ^
398.   
399.   

crypto/bn/bn_mod.c:180:1: Parameter `ctx->stack.depth`
  178.   
  179.   /* slow but works */
  180. > int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
  181.   	BN_CTX *ctx)
  182.   	{

crypto/bn/bn_mod.c:190:2: Call
  188.   	bn_check_top(m);
  189.   
  190.   	BN_CTX_start(ctx);
          ^
  191.   	if ((t = BN_CTX_get(ctx)) == NULL) goto err;
  192.   	if (a == b)

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

crypto/bn/bn_mod.c:193:10: Call
  191.   	if ((t = BN_CTX_get(ctx)) == NULL) goto err;
  192.   	if (a == b)
  193.   		{ if (!BN_sqr(t,a,ctx)) goto err; }
                  ^
  194.   	else
  195.   		{ if (!BN_mul(t,a,b,ctx)) goto err; }

crypto/bn/bn_sqr.c:64:1: Parameter `ctx->stack.depth`
    62.   /* r must not be a */
    63.   /* I've just gone over this and it is now %20 faster on x86 - eay - 27 Jun 96 */
    64. > int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
    65.   	{
    66.   	int max,al;

crypto/bn/bn_sqr.c:80:2: Call
    78.   		}
    79.   
    80.   	BN_CTX_start(ctx);
           ^
    81.   	rr=(a != r) ? r : BN_CTX_get(ctx);
    82.   	tmp=BN_CTX_get(ctx);

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

crypto/bn/bn_sqr.c:150:2: Call
    148.   	bn_check_top(rr);
    149.   	bn_check_top(tmp);
    150.   	BN_CTX_end(ctx);
            ^
    151.   	return(ret);
    152.   	}

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

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

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

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

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