engines/e_cswift.c:1002: error: INTEGER_OVERFLOW_L2
  ([0, `sig->r->top`] - 1):unsigned64 by call to `BN_bn2bin`.
Showing all 9 steps of the trace


engines/e_cswift.c:919:1: Parameter `sig->r->top`
917.   	}
918.   
919. > static int cswift_dsa_verify(const unsigned char *dgst, int dgst_len,
920.   				DSA_SIG *sig, DSA *dsa)
921.   	{

engines/e_cswift.c:1002:40: Call
1000.   	arg[1].value = (unsigned char *)argument->d;
1001.   	memset(arg[1].value, 0, 40);
1002.   	BN_bn2bin(sig->r, arg[1].value + 20 - BN_num_bytes(sig->r));
                                               ^
1003.   	BN_bn2bin(sig->s, arg[1].value + 40 - BN_num_bytes(sig->s));
1004.   	res.nbytes = 4; /* unsigned long */

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;

engines/e_cswift.c:1002:2: Call
1000.   	arg[1].value = (unsigned char *)argument->d;
1001.   	memset(arg[1].value, 0, 40);
1002.   	BN_bn2bin(sig->r, arg[1].value + 20 - BN_num_bytes(sig->r));
         ^
1003.   	BN_bn2bin(sig->s, arg[1].value + 40 - BN_num_bytes(sig->s));
1004.   	res.nbytes = 4; /* unsigned long */

crypto/bn/bn_lib.c:641:1: Parameter `a->top`
  639.   
  640.   /* ignore negative */
  641. > int BN_bn2bin(const BIGNUM *a, unsigned char *to)
  642.   	{
  643.   	int n,i;

crypto/bn/bn_lib.c:647:6: Call
  645.   
  646.   	bn_check_top(a);
  647.   	n=i=BN_num_bytes(a);
              ^
  648.   	while (i--)
  649.   		{

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