crypto/dsa/dsa_ossl.c:384: error: INTEGER_OVERFLOW_L2
  ([0, `dsa->p->top`] - 1):unsigned64 by call to `BN_mod_exp2_mont`.
Showing all 13 steps of the trace


crypto/dsa/dsa_ossl.c:302:1: Parameter `dsa->p->top`
300.   	}
301.   
302. > static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig,
303.   			 DSA *dsa)
304.   	{

crypto/dsa/dsa_ossl.c:323:6: Call
321.   		}
322.   
323.   	if (BN_num_bits(dsa->p) > OPENSSL_DSA_MAX_MODULUS_BITS)
            ^
324.   		{
325.   		DSAerr(DSA_F_DSA_DO_VERIFY,DSA_R_MODULUS_TOO_LARGE);

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/dsa/dsa_ossl.c:384:2: Call
382.   
383.   
384.   	DSA_MOD_EXP(goto err, dsa, &t1, dsa->g, &u1, dsa->pub_key, &u2, dsa->p, ctx, mont);
        ^
385.   	/* BN_copy(&u1,&t1); */
386.   	/* let u1 = u1 mod q */

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

crypto/bn/bn_exp2.c:163:8: Call
  161.   		{
  162.   		if ((mont=BN_MONT_CTX_new()) == NULL) goto err;
  163.   		if (!BN_MONT_CTX_set(mont,m,ctx)) goto err;
                ^
  164.   		}
  165.   

crypto/bn/bn_mont.c:413:1: Parameter `mod->top`
    411.   	}
    412.   
    413. > int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
    414.   	{
    415.   	int ret = 0;

crypto/bn/bn_mont.c:421:7: Call
    419.   	if((Ri = BN_CTX_get(ctx)) == NULL) goto err;
    420.   	R= &(mont->RR);					/* grab RR as a temp */
    421.   	if (!BN_copy(&(mont->N),mod)) goto err;		/* Set N */
                 ^
    422.   	mont->N.neg = 0;
    423.   

crypto/bn/bn_lib.c:497:1: Parameter `a->dmax`
      495.   	}
      496.   
      497. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
      498.   	{
      499.   	int i;

crypto/bn/bn_mont.c:434:13: Call
    432.   		tmod.neg=0;
    433.   
    434.   		mont->ri=(BN_num_bits(mod)+(BN_BITS2-1))/BN_BITS2*BN_BITS2;
                       ^
    435.   
    436.   #if defined(OPENSSL_BN_ASM_MONT) && (BN_BITS2<=32)

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, dsa->p->top] - 1):unsigned64 by call to `BN_mod_exp2_mont` 
      248.   int BN_num_bits(const BIGNUM *a)
      249.   	{
      250.   	int i = a->top - 1;
              ^
      251.   	bn_check_top(a);
      252.   
