apps/dsa.c:344: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `i2b_PVK_bio`.
Showing all 14 steps of the trace


apps/dsa.c:325:3: Call
323.   		{
324.   		fprintf(stdout,"Public Key=");
325.   		BN_print(out,dsa->pub_key);
         ^
326.   		fprintf(stdout,"\n");
327.   		}

crypto/bn/bn_print.c:334:1: Parameter `a->top`
  332.   #endif
  333.   
  334. > int BN_print(BIO *bp, const BIGNUM *a)
  335.   	{
  336.   	int i,j,v,z=0;

apps/dsa.c:344:8: Call
342.   		EVP_PKEY_set1_DSA(pk, dsa);
343.   		if (outformat == FORMAT_PVK)
344.   			i = i2b_PVK_bio(out, pk, pvk_encr, 0, passout);
              ^
345.   		else if (pubin || pubout)
346.   			i = i2b_PublicKey_bio(out, pk);

crypto/pem/pvkfmt.c:919:1: Parameter `pk->pkey.dsa->g->top`
  917.   	}
  918.   
  919. > int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel,
  920.   		pem_password_cb *cb, void *u)
  921.   	{

crypto/pem/pvkfmt.c:924:11: Call
  922.   	unsigned char *tmp = NULL;
  923.   	int outlen, wrlen;
  924.   	outlen = i2b_PVK(&tmp, pk, enclevel, cb, u);
                   ^
  925.   	if (outlen < 0)
  926.   		return -1;

crypto/pem/pvkfmt.c:836:1: Parameter `pk->pkey.dsa->g->top`
    834.   	
    835.   	
    836. > static int i2b_PVK(unsigned char **out, EVP_PKEY*pk, int enclevel,
    837.   		pem_password_cb *cb, void *u)
    838.   	{

crypto/pem/pvkfmt.c:843:10: Call
    841.   	if (enclevel)
    842.   		outlen += PVK_SALTLEN;
    843.   	pklen = do_i2b(NULL, pk, 0);
                    ^
    844.   	if (pklen < 0)
    845.   		return -1;

crypto/pem/pvkfmt.c:483:1: Parameter `pk->pkey.dsa->g->top`
      481.   static void write_dsa(unsigned char **out, DSA *dsa, int ispub);
      482.   	
      483. > static int do_i2b(unsigned char **out, EVP_PKEY *pk, int ispub)
      484.   	{
      485.   	unsigned char *p;

crypto/pem/pvkfmt.c:490:12: Call
      488.   	if (pk->type == EVP_PKEY_DSA)
      489.   		{
      490.   		bitlen = check_bitlen_dsa(pk->pkey.dsa, ispub, &magic);
                        ^
      491.   		keyalg = MS_KEYALG_DSS_SIGN;
      492.   		}

crypto/pem/pvkfmt.c:549:1: Parameter `dsa->g->top`
        547.   	}
        548.   
        549. > static int check_bitlen_dsa(DSA *dsa, int ispub, unsigned int *pmagic)
        550.   	{
        551.   	int bitlen;

crypto/pem/pvkfmt.c:554:7: Call
        552.   	bitlen = BN_num_bits(dsa->p);
        553.   	if ((bitlen & 7) || (BN_num_bits(dsa->q) != 160)
        554.   		|| (BN_num_bits(dsa->g) > bitlen))
                     ^
        555.   		goto badkey;
        556.   	if (ispub)

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