crypto/jpake/jpaketest.c:24: error: INTEGER_OVERFLOW_L1
  (0 - 1):unsigned64 by call to `JPAKE_STEP1_generate`.
Showing all 23 steps of the trace


crypto/jpake/jpaketest.c:23:5: Call
21.      /* Alice -> Bob: step 1 */
22.       puts("A->B s1");
23.       JPAKE_STEP1_init(&alice_s1);
          ^
24.       JPAKE_STEP1_generate(&alice_s1, alice);
25.       if(!JPAKE_STEP1_process(bob, &alice_s1))

crypto/jpake/jpake.c:65:5: Call
  63.       {
  64.       JPAKE_STEP_PART_init(&s1->p1);
  65.       JPAKE_STEP_PART_init(&s1->p2);
            ^
  66.       }
  67.   

crypto/jpake/jpake.c:53:5: Call
    51.       {
    52.       p->gx = BN_new();
    53.       JPAKE_ZKP_init(&p->zkpx);
              ^
    54.       }
    55.   

crypto/jpake/jpake.c:37:14: Call
      35.       {
      36.       zkp->gr = BN_new();
      37.       zkp->b = BN_new();
                         ^
      38.       }
      39.   

crypto/bn/bn_lib.c:308:2: Assignment
        306.   		}
        307.   	ret->flags=BN_FLG_MALLOCED;
        308.   	ret->top=0;
                ^
        309.   	ret->neg=0;
        310.   	ret->dmax=0;

crypto/jpake/jpaketest.c:24:5: Call
22.       puts("A->B s1");
23.       JPAKE_STEP1_init(&alice_s1);
24.       JPAKE_STEP1_generate(&alice_s1, alice);
          ^
25.       if(!JPAKE_STEP1_process(bob, &alice_s1))
26.   	{

crypto/jpake/jpake.c:276:1: Parameter `ctx->p.g->top`
  274.       }
  275.   
  276. > int JPAKE_STEP1_generate(JPAKE_STEP1 *send, JPAKE_CTX *ctx)
  277.       {
  278.       genrand(ctx);

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 `g->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 `a->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 `a->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 `a->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:650:8: Call
          648.   	if (a->neg || BN_ucmp(a,m) >= 0)
          649.   		{
          650.   		if (!BN_mod(am,a,m,ctx))
                        ^
          651.   			goto err;
          652.   		aa= am;

crypto/bn/bn_div.c:181:1: Parameter `num->top`
            179.   static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
            180.           const BIGNUM *divisor, BN_CTX *ctx);
            181. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
            182.   	   BN_CTX *ctx)
            183.   	{

crypto/bn/bn_div.c:204:10: Call
            202.   	if ((BN_get_flags(num, BN_FLG_CONSTTIME) != 0) || (BN_get_flags(divisor, BN_FLG_CONSTTIME) != 0))
            203.   		{
            204.   		return BN_div_no_branch(dv, rm, num, divisor, ctx);
                            ^
            205.   		}
            206.   

crypto/bn/bn_div.c:426:1: Parameter `num->top`
              424.    * branches that may leak sensitive information.
              425.    */
              426. > static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, 
              427.   	const BIGNUM *divisor, BN_CTX *ctx)
              428.   	{

crypto/bn/bn_div.c:460:8: Call
              458.   	sdiv->neg=0;
              459.   	norm_shift+=BN_BITS2;
              460.   	if (!(BN_lshift(snum,num,norm_shift))) goto err;
                            ^
              461.   	snum->neg=0;
              462.   

crypto/bn/bn_shift.c:132:1: <LHS trace>
130.   	}
131.   
132. > int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
133.   	{
134.   	int i,nw,lb,rb;

crypto/bn/bn_shift.c:132:1: Parameter `a->top`
                130.   	}
                131.   
                132. > int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
                133.   	{
                134.   	int i,nw,lb,rb;

crypto/bn/bn_shift.c:150:8: Binary operation: (0 - 1):unsigned64 by call to `JPAKE_STEP1_generate` 
                148.   	t[a->top+nw]=0;
                149.   	if (lb == 0)
                150.   		for (i=a->top-1; i>=0; i--)
                              ^
                151.   			t[nw+i]=f[i];
                152.   	else
