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


engines/e_atalla.c:544:1: Parameter `m->top`
542.    * RSA. Just check out the "signs" statistics from the RSA and DSA parts
543.    * of "openssl speed -engine atalla dsa1024 rsa1024". */
544. > static int atalla_dsa_mod_exp(DSA *dsa, BIGNUM *rr, BIGNUM *a1,
545.   		BIGNUM *p1, BIGNUM *a2, BIGNUM *p2, BIGNUM *m,
546.   		BN_CTX *ctx, BN_MONT_CTX *in_mont)

engines/e_atalla.c:553:7: Call
551.   	BN_init(&t);
552.   	/* let rr = a1 ^ p1 mod m */
553.   	if (!atalla_mod_exp(rr,a1,p1,m,ctx)) goto end;
             ^
554.   	/* let t = a2 ^ p2 mod m */
555.   	if (!atalla_mod_exp(&t,a2,p2,m,ctx)) goto end;

engines/e_atalla.c:444:1: Parameter `m->top`
  442.   	}
  443.   
  444. > static int atalla_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  445.   			const BIGNUM *m, BN_CTX *ctx)
  446.   	{

engines/e_atalla.c:555:7: Call
553.   	if (!atalla_mod_exp(rr,a1,p1,m,ctx)) goto end;
554.   	/* let t = a2 ^ p2 mod m */
555.   	if (!atalla_mod_exp(&t,a2,p2,m,ctx)) goto end;
             ^
556.   	/* let rr = rr * t mod m */
557.   	if (!BN_mod_mul(rr,rr,&t,m,ctx)) goto end;

engines/e_atalla.c:444:1: Parameter `m->top`
  442.   	}
  443.   
  444. > static int atalla_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  445.   			const BIGNUM *m, BN_CTX *ctx)
  446.   	{

engines/e_atalla.c:486:13: Call
  484.   	/* Prepare the key-data */
  485.   	memset(&keydata, 0,sizeof keydata);
  486.   	numbytes = BN_num_bytes(m);
                     ^
  487.   	memset(exponent->d, 0, numbytes);
  488.   	memset(modulus->d, 0, numbytes);

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