crypto/dsa/dsa_key.c:115: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `BN_mod_exp`.
Showing all 10 steps of the trace


crypto/dsa/dsa_key.c:97:16: Call
95.   	if (dsa->pub_key == NULL)
96.   		{
97.   		if ((pub_key=BN_new()) == NULL) goto err;
                      ^
98.   		}
99.   	else

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/dsa/dsa_key.c:115:8: Call
113.   			prk = priv_key;
114.   
115.   		if (!BN_mod_exp(pub_key,dsa->g,prk,dsa->p,ctx)) goto err;
              ^
116.   	}
117.   

crypto/bn/bn_exp.c:163:1: Parameter `p->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: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 `p->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/bn/bn_exp.c:769:9: Call
    767.   		a %= m->d[0]; /* make sure that 'a' is reduced */
    768.   
    769.   	bits = BN_num_bits(p);
                   ^
    770.   	if (bits == 0)
    771.   		{

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