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


crypto/dsa/dsa_ossl.c:211:1: Parameter `dsa->p->top`
209.   	}
210.   
211. > static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
212.   	{
213.   	BN_CTX *ctx;

crypto/dsa/dsa_ossl.c:276:2: Call
274.   		K = &k;
275.   		}
276.   	DSA_BN_MOD_EXP(goto err, dsa, r, dsa->g, K, dsa->p, ctx,
        ^
277.   			dsa->method_mont_p);
278.   	if (!BN_mod(r,r,dsa->q,ctx)) goto err;

crypto/bn/bn_exp.c:371:1: Parameter `m->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 `m->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:620:8: Call
    618.   		{
    619.   		if ((mont=BN_MONT_CTX_new()) == NULL) goto err;
    620.   		if (!BN_MONT_CTX_set(mont,m,ctx)) goto err;
                  ^
    621.   		}
    622.   

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