engines/e_aep.c:824: error: INTEGER_OVERFLOW_L2
  ([0, `m->top`] - 1):unsigned64 by call to `aep_mod_exp`.
Showing all 11 steps of the trace


engines/e_aep.c:813:1: Parameter `m->top`
811.   
812.   #ifndef OPENSSL_NO_DSA
813. > static int aep_dsa_mod_exp(DSA *dsa, BIGNUM *rr, BIGNUM *a1,
814.   	BIGNUM *p1, BIGNUM *a2, BIGNUM *p2, BIGNUM *m,
815.   	BN_CTX *ctx, BN_MONT_CTX *in_mont)

engines/e_aep.c:822:7: Call
820.   
821.   	/* let rr = a1 ^ p1 mod m */
822.   	if (!aep_mod_exp(rr,a1,p1,m,ctx)) goto end;
             ^
823.   	/* let t = a2 ^ p2 mod m */
824.   	if (!aep_mod_exp(&t,a2,p2,m,ctx)) goto end;

engines/e_aep.c:600:1: Parameter `m->top`
  598.   	}
  599.   
  600. > static int aep_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  601.   	const BIGNUM *m, BN_CTX *ctx)
  602.   	{

engines/e_aep.c:608:10: Call
  606.   	AEP_RV rv;
  607.   	
  608.   	r_len = BN_num_bits(m);
                  ^
  609.   
  610.   	/* Perform in software if modulus is too large for hardware. */

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_aep.c:824:7: Call
822.   	if (!aep_mod_exp(rr,a1,p1,m,ctx)) goto end;
823.   	/* let t = a2 ^ p2 mod m */
824.   	if (!aep_mod_exp(&t,a2,p2,m,ctx)) goto end;
             ^
825.   	/* let rr = rr * t mod m */
826.   	if (!BN_mod_mul(rr,rr,&t,m,ctx)) goto end;

engines/e_aep.c:600:1: Parameter `m->top`
  598.   	}
  599.   
  600. > static int aep_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  601.   	const BIGNUM *m, BN_CTX *ctx)
  602.   	{

engines/e_aep.c:608:10: Call
  606.   	AEP_RV rv;
  607.   	
  608.   	r_len = BN_num_bits(m);
                  ^
  609.   
  610.   	/* Perform in software if modulus is too large for hardware. */

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