crypto/rsa/rsa_eay.c:448: error: BUFFER_OVERRUN_L3
  Offset: 1 Size: [0, +oo] by call to `BN_mul`.
Showing all 16 steps of the trace


crypto/rsa/rsa_eay.c:434:7: Call
432.   		}
433.   
434.   	if (!BN_mod(&r1,I,rsa->q,ctx)) goto err;
             ^
435.   	if (!rsa->meth->bn_mod_exp(&m1,&r1,rsa->dmq1,rsa->q,ctx,
436.   		rsa->_method_mod_q)) goto err;

crypto/bn/bn_div.c:287:1: Parameter `*rem->d`
  285.   
  286.   /* rem != m */
  287. > int BN_mod(BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
  288.   	{
  289.   #if 0 /* The old slow way */

crypto/bn/bn_div.c:313:9: Call
  311.   	return(1);
  312.   #else
  313.   	return(BN_div(NULL,rem,m,d,ctx));
                 ^
  314.   #endif
  315.   	}

crypto/bn/bn_div.c:121:1: Parameter `*rm->d`
    119.   #else
    120.   
    121. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
    122.   	   BN_CTX *ctx)
    123.   	{

crypto/rsa/rsa_eay.c:438:7: Call
436.   		rsa->_method_mod_q)) goto err;
437.   
438.   	if (!BN_mod(&r1,I,rsa->p,ctx)) goto err;
             ^
439.   	if (!rsa->meth->bn_mod_exp(r0,&r1,rsa->dmp1,rsa->p,ctx,
440.   		rsa->_method_mod_p)) goto err;

crypto/bn/bn_div.c:287:1: Parameter `*rem->d`
  285.   
  286.   /* rem != m */
  287. > int BN_mod(BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
  288.   	{
  289.   #if 0 /* The old slow way */

crypto/bn/bn_div.c:313:9: Call
  311.   	return(1);
  312.   #else
  313.   	return(BN_div(NULL,rem,m,d,ctx));
                 ^
  314.   #endif
  315.   	}

crypto/bn/bn_div.c:121:1: Parameter `*rm->d`
    119.   #else
    120.   
    121. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
    122.   	   BN_CTX *ctx)
    123.   	{

crypto/rsa/rsa_eay.c:448:7: Call
446.   		if (!BN_add(r0,r0,rsa->p)) goto err;
447.   
448.   	if (!BN_mul(&r1,r0,rsa->iqmp,ctx)) goto err;
             ^
449.   	if (!BN_mod(r0,&r1,rsa->p,ctx)) goto err;
450.   	/* If p < q it is occasionally possible for the correction of

crypto/bn/bn_mul.c:560:1: Parameter `*r->d`
  558.   #endif
  559.   
  560. > int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
  561.   	{
  562.   	int top,al,bl;

crypto/bn/bn_mul.c:583:3: Call
  581.   	if ((al == 0) || (bl == 0))
  582.   		{
  583.   		BN_zero(r);
           ^
  584.   		return(1);
  585.   		}

crypto/bn/bn_lib.c:572:2: <Offset trace>
570.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
571.   
572.   	n=sizeof(BN_ULONG)/BN_BYTES;
        ^
573.   	a->neg=0;
574.   	a->top=0;

crypto/bn/bn_lib.c:572:2: Assignment
    570.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
    571.   
    572.   	n=sizeof(BN_ULONG)/BN_BYTES;
            ^
    573.   	a->neg=0;
    574.   	a->top=0;

crypto/bn/bn_lib.c:567:1: <Length trace>
565.   	}
566.   
567. > int BN_set_word(BIGNUM *a, BN_ULONG w)
568.   	{
569.   	int i,n;

crypto/bn/bn_lib.c:567:1: Parameter `*a->d`
    565.   	}
    566.   
    567. > int BN_set_word(BIGNUM *a, BN_ULONG w)
    568.   	{
    569.   	int i,n;

crypto/bn/bn_lib.c:588:3: Array access: Offset: 1 Size: [0, +oo] by call to `BN_mul` 
    586.   		w=0;
    587.   #endif
    588.   		a->d[i]=(BN_ULONG)w&BN_MASK2;
             ^
    589.   		if (a->d[i] != 0) a->top=i+1;
    590.   		}
