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


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: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:251:5: Call
249.       {
250.       BN_mod_exp(p->gx, g, x, ctx->p.p, ctx->ctx);
251.       generate_zkp(p, x, g, ctx);
           ^
252.       }
253.   

crypto/jpake/jpake.c:186:1: Parameter `p->gx->top`
  184.    * Note that p->gx has already been calculated
  185.    */
  186. > static void generate_zkp(JPAKE_STEP_PART *p, const BIGNUM *x,
  187.   			 const BIGNUM *zkpg, JPAKE_CTX *ctx)
  188.       {

crypto/jpake/jpake.c:202:5: Call
  200.   
  201.      /* h=hash... */
  202.       zkp_hash(h, zkpg, p, ctx->p.name);
             ^
  203.   
  204.      /* b = r - x*h */

crypto/jpake/jpake.c:162:1: Parameter `p->gx->top`
    160.   
    161.   /* h=hash(g, g^r, g^x, name) */
    162. > static void zkp_hash(BIGNUM *h, const BIGNUM *zkpg, const JPAKE_STEP_PART *p,
    163.   		     const char *proof_name)
    164.       {

crypto/jpake/jpake.c:176:5: Call
    174.       OPENSSL_assert(!BN_is_zero(p->zkpx.gr));
    175.       hashbn(&sha, p->zkpx.gr);
    176.       hashbn(&sha, p->gx);
               ^
    177.       hashstring(&sha, proof_name);
    178.       SHA1_Final(md, &sha);

crypto/jpake/jpake.c:150:1: Parameter `bn->top`
      148.       }
      149.   
      150. > static void hashbn(SHA_CTX *sha, const BIGNUM *bn)
      151.       {
      152.       size_t l = BN_num_bytes(bn);

crypto/jpake/jpake.c:152:16: Call
      150.   static void hashbn(SHA_CTX *sha, const BIGNUM *bn)
      151.       {
      152.       size_t l = BN_num_bytes(bn);
                            ^
      153.       unsigned char *bin = OPENSSL_malloc(l);
      154.   

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