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


crypto/jpake/jpake.c:278:5: Call
276.   int JPAKE_STEP1_generate(JPAKE_STEP1 *send, JPAKE_CTX *ctx)
277.       {
278.       genrand(ctx);
           ^
279.       generate_step_part(&send->p1, ctx->xa, ctx->p.g, ctx);
280.       generate_step_part(&send->p2, ctx->xb, ctx->p.g, ctx);

crypto/jpake/jpake.c:260:5: Call
  258.   
  259.      /* xa in [0, q) */
  260.       BN_rand_range(ctx->xa, ctx->p.q);
             ^
  261.   
  262.      /* q-1 */

crypto/bn/bn_rand.c:300:9: Call
    298.   int	BN_rand_range(BIGNUM *r, const BIGNUM *range)
    299.   	{
    300.   	return bn_rand_range(0, r, range);
                   ^
    301.   	}
    302.   

crypto/bn/bn_rand.c:230:1: Parameter `r->top`
      228.   
      229.   /* random number r:  0 <= r < range */
      230. > static int bn_rand_range(int pseudo, BIGNUM *r, const BIGNUM *range)
      231.   	{
      232.   	int (*bn_rand)(BIGNUM *, size_t, int, int)

crypto/jpake/jpake.c:279:5: Call
277.       {
278.       genrand(ctx);
279.       generate_step_part(&send->p1, ctx->xa, ctx->p.g, ctx);
           ^
280.       generate_step_part(&send->p2, ctx->xb, ctx->p.g, ctx);
281.   

crypto/jpake/jpake.c:247:1: Parameter `x->top`
  245.       }    
  246.   
  247. > static void generate_step_part(JPAKE_STEP_PART *p, const BIGNUM *x,
  248.   			       const BIGNUM *g, JPAKE_CTX *ctx)
  249.       {

crypto/jpake/jpake.c:250:5: Call
  248.   			       const BIGNUM *g, JPAKE_CTX *ctx)
  249.       {
  250.       BN_mod_exp(p->gx, g, x, ctx->p.p, ctx->ctx);
             ^
  251.       generate_zkp(p, x, g, ctx);
  252.       }

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 `generate_step_part` 
          248.   int BN_num_bits(const BIGNUM *a)
          249.   	{
          250.   	int i = a->top - 1;
                  ^
          251.   	bn_check_top(a);
          252.   
