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


engines/e_cswift.c:780:1: Parameter `a->top`
778.   
779.   /* This function is aliased to mod_exp (with the mont stuff dropped). */
780. > static int cswift_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
781.   		const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)
782.   	{

engines/e_cswift.c:803:9: Call
801.   	}
802.   
803.   	return cswift_mod_exp(r, a, p, m, ctx);
               ^
804.   	}
805.   #endif	/* OPENSSL_NO_RSA */

engines/e_cswift.c:486:1: Parameter `a->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:557:15: Call
  555.   		}
  556.   	/* Prepare the argument and response */
  557.   	arg.nbytes = BN_bn2bin(a, (unsigned char *)argument->d);
                       ^
  558.   	arg.value = (unsigned char *)argument->d;
  559.   	res.nbytes = BN_num_bytes(m);

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