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


crypto/dsa/dsa_ossl.c:237:8: Call
235.   	/* Get random k */
236.   	do
237.   		if (!BN_rand_range(&k, dsa->q)) goto err;
              ^
238.   	while (BN_is_zero(&k));
239.   	if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0)

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/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 `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 `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.   
