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


engines/e_cswift.c:486:1: Parameter `m->top`
484.   
485.   /* Un petit mod_exp */
486. > static int cswift_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
487.   			const BIGNUM *m, BN_CTX *ctx)
488.   	{

engines/e_cswift.c:532:35: Call
530.   		}
531.   	sw_param.type = SW_ALG_EXP;
532.   	sw_param.up.exp.modulus.nbytes = BN_bn2bin(m,
                                         ^
533.   		(unsigned char *)modulus->d);
534.   	sw_param.up.exp.modulus.value = (unsigned char *)modulus->d;

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: Parameter `a->top`
    246.   	}
    247.   
    248. > int BN_num_bits(const BIGNUM *a)
    249.   	{
    250.   	int i = a->top - 1;

engines/e_cswift.c:559:15: Call
557.   	arg.nbytes = BN_bn2bin(a, (unsigned char *)argument->d);
558.   	arg.value = (unsigned char *)argument->d;
559.   	res.nbytes = BN_num_bytes(m);
                     ^
560.   	memset(result->d, 0, res.nbytes);
561.   	res.value = (unsigned char *)result->d;

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