crypto/bn/bn_exp2.c:222: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_to_montgomery`.
Showing all 23 steps of the trace


crypto/bn/bn_exp2.c:120:1: Parameter `ctx->stack.depth`
118.   #define TABLE_SIZE	32
119.   
120. > int BN_mod_exp2_mont(BIGNUM *rr, const BIGNUM *a1, const BIGNUM *p1,
121.   	const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m,
122.   	BN_CTX *ctx, BN_MONT_CTX *in_mont)

crypto/bn/bn_exp2.c:153:2: Call
151.   	bits=(bits1 > bits2)?bits1:bits2;
152.   
153.   	BN_CTX_start(ctx);
        ^
154.   	d = BN_CTX_get(ctx);
155.   	r = 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_exp2.c:189:7: Call
187.   		}
188.   
189.   	if (!BN_to_montgomery(val1[0],a_mod_m,mont,ctx)) goto err;
             ^
190.   	if (window1 > 1)
191.   		{

crypto/bn/bn_lib.c:952:1: Parameter `ctx->stack.depth`
  950.   	}
  951.   
  952. > int BN_to_montgomery(BIGNUM *r,const BIGNUM *a,	BN_MONT_CTX *mont, BN_CTX *ctx)
  953.   	{
  954.   	return BN_mod_mul_montgomery(r,a,&(mont->RR),mont,ctx);

crypto/bn/bn_lib.c:954:9: Call
  952.   int BN_to_montgomery(BIGNUM *r,const BIGNUM *a,	BN_MONT_CTX *mont, BN_CTX *ctx)
  953.   	{
  954.   	return BN_mod_mul_montgomery(r,a,&(mont->RR),mont,ctx);
                 ^
  955.   	}
  956.   

crypto/bn/bn_mont.c:130:1: Parameter `ctx->stack.depth`
    128.   #endif
    129.   
    130. > int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
    131.   			  BN_MONT_CTX *mont, BN_CTX *ctx)
    132.   	{

crypto/bn/bn_exp2.c:222:7: Call
220.   		goto err;
221.   		}
222.   	if (!BN_to_montgomery(val2[0],a_mod_m,mont,ctx)) goto err;
             ^
223.   	if (window2 > 1)
224.   		{

crypto/bn/bn_lib.c:952:1: Parameter `ctx->stack.depth`
  950.   	}
  951.   
  952. > int BN_to_montgomery(BIGNUM *r,const BIGNUM *a,	BN_MONT_CTX *mont, BN_CTX *ctx)
  953.   	{
  954.   	return BN_mod_mul_montgomery(r,a,&(mont->RR),mont,ctx);

crypto/bn/bn_lib.c:954:9: Call
  952.   int BN_to_montgomery(BIGNUM *r,const BIGNUM *a,	BN_MONT_CTX *mont, BN_CTX *ctx)
  953.   	{
  954.   	return BN_mod_mul_montgomery(r,a,&(mont->RR),mont,ctx);
                 ^
  955.   	}
  956.   

crypto/bn/bn_mont.c:130:1: Parameter `ctx->stack.depth`
    128.   #endif
    129.   
    130. > int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
    131.   			  BN_MONT_CTX *mont, BN_CTX *ctx)
    132.   	{

crypto/bn/bn_mont.c:151:2: Call
    149.   #endif
    150.   
    151.   	BN_CTX_start(ctx);
            ^
    152.   	tmp = BN_CTX_get(ctx);
    153.   	if (tmp == NULL) goto err;

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_mont.c:158:8: Call
    156.   	if (a == b)
    157.   		{
    158.   		if (!BN_sqr(tmp,a,ctx)) goto err;
                  ^
    159.   		}
    160.   	else

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_to_montgomery` 
          352.   static unsigned int BN_STACK_pop(BN_STACK *st)
          353.   	{
          354.   	return st->indexes[--(st->depth)];
                         ^
          355.   	}
          356.   
