crypto/pem/pvkfmt.c:882: error: INTEGER_OVERFLOW_L2
  ([0, `pk->pkey.dsa->priv_key->top`] - 1):unsigned64 by call to `do_i2b`.
Showing all 11 steps of the trace


crypto/pem/pvkfmt.c:836:1: Parameter `pk->pkey.dsa->priv_key->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->priv_key->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:882:2: Call
880.   		p += PVK_SALTLEN;
881.   		}
882.   	do_i2b(&p, pk, 0);
        ^
883.   	if (enclevel == 0)
884.   		return outlen;

crypto/pem/pvkfmt.c:483:1: Parameter `pk->pkey.dsa->priv_key->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->priv_key->top`
    547.   	}
    548.   
    549. > static int check_bitlen_dsa(DSA *dsa, int ispub, unsigned int *pmagic)
    550.   	{
    551.   	int bitlen;

crypto/pem/pvkfmt.c:564:7: Call
    562.   	else
    563.   		{
    564.   		if (BN_num_bits(dsa->priv_key) > 160)
                 ^
    565.   			goto badkey;
    566.   		*pmagic = MS_DSS2MAGIC;

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