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


crypto/jpake/jpake.c:226:5: Call
224.   
225.      /* t1 = g^b */
226.       BN_mod_exp(t1, zkpg, p->zkpx.b, ctx->p.p, ctx->ctx);
           ^
227.      /* t2 = (g^x)^h = g^{hx} */
228.       BN_mod_exp(t2, p->gx, h, ctx->p.p, ctx->ctx);

crypto/bn/bn_exp.c:219:8: Call
  217.   			{
  218.   			BN_ULONG A = a->d[0];
  219.   			ret=BN_mod_exp_mont_word(r,A,p,m,ctx,NULL);
                ^
  220.   			}
  221.   		else

crypto/bn/bn_exp.c:727:1: Parameter `rr->top`
    725.   	}
    726.   
    727. > int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,
    728.                            const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
    729.   	{

crypto/jpake/jpake.c:228:5: Call
226.       BN_mod_exp(t1, zkpg, p->zkpx.b, ctx->p.p, ctx->ctx);
227.      /* t2 = (g^x)^h = g^{hx} */
228.       BN_mod_exp(t2, p->gx, h, ctx->p.p, ctx->ctx);
           ^
229.      /* t3 = t1 * t2 = g^{hx} * g^b = g^{hx+b} = g^r (allegedly) */
230.       BN_mod_mul(t3, t1, t2, ctx->p.p, ctx->ctx);

crypto/bn/bn_exp.c:163:1: Parameter `p->top`
  161.   
  162.   
  163. > int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
  164.   	       BN_CTX *ctx)
  165.   	{

crypto/bn/bn_exp.c:223:8: Call
  221.   		else
  222.   #  endif
  223.   			ret=BN_mod_exp_mont(r,a,p,m,ctx,NULL);
                ^
  224.   		}
  225.   	else

crypto/bn/bn_exp.c:371:1: Parameter `p->top`
    369.   
    370.   
    371. > int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
    372.   		    const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
    373.   	{

crypto/bn/bn_exp.c:384:10: Call
    382.   	if (BN_get_flags(p, BN_FLG_CONSTTIME) != 0)
    383.   		{
    384.   		return BN_mod_exp_mont_consttime(rr, a, p, m, ctx, in_mont);
                    ^
    385.   		}
    386.   

crypto/bn/bn_exp.c:574:1: Parameter `p->top`
      572.    * http://www.daemonology.net/hyperthreading-considered-harmful/)
      573.    */
      574. > int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,
      575.   		    const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
      576.   	{

crypto/bn/bn_exp.c:600:7: Call
      598.   		return(0);
      599.   		}
      600.   	bits=BN_num_bits(p);
                   ^
      601.   	if (bits == 0)
      602.   		{

crypto/bn/bn_lib.c:248:1: <LHS trace>
246.   	}
247.   
248. > int BN_num_bits(const BIGNUM *a)
249.   	{
250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:248:1: Parameter `a->top`
        246.   	}
        247.   
        248. > int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:250:2: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_mod_exp` 
        248.   int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;
                ^
        251.   	bn_check_top(a);
        252.   
