crypto/pem/pvkfmt.c:632: error: INTEGER_OVERFLOW_L2
  ([0, `dsa->p->top`] - 1):unsigned64 by call to `write_lebn`.
Showing all 9 steps of the trace


crypto/pem/pvkfmt.c:628:1: Parameter `dsa->p->top`
626.   
627.   	
628. > static void write_dsa(unsigned char **out, DSA *dsa, int ispub)
629.   	{
630.   	int nbyte;

crypto/pem/pvkfmt.c:631:10: Call
629.   	{
630.   	int nbyte;
631.   	nbyte = BN_num_bytes(dsa->p);
                ^
632.   	write_lebn(out, dsa->p, nbyte);
633.   	write_lebn(out, dsa->q, 20);

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/pem/pvkfmt.c:632:2: Call
630.   	int nbyte;
631.   	nbyte = BN_num_bytes(dsa->p);
632.   	write_lebn(out, dsa->p, nbyte);
        ^
633.   	write_lebn(out, dsa->q, 20);
634.   	write_lebn(out, dsa->g, nbyte);

crypto/pem/pvkfmt.c:449:1: Parameter `bn->top`
  447.   	}
  448.   
  449. > static void write_lebn(unsigned char **out, const BIGNUM *bn, int len)
  450.   	{
  451.   	int nb, i;

crypto/pem/pvkfmt.c:453:7: Call
  451.   	int nb, i;
  452.   	unsigned char *p = *out, *q, c;
  453.   	nb = BN_num_bytes(bn);
               ^
  454.   	BN_bn2bin(bn, p);
  455.   	q = p + nb - 1;

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