crypto/rsa/rsa_eay.c:287: error: BUFFER_OVERRUN_L3
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [0, +oo] by call to `BN_BLINDING_convert`.
Showing all 17 steps of the trace


crypto/rsa/rsa_eay.c:282:6: Call
280.   
281.   	/* make data into a big number */
282.   	if (BN_bin2bn(from,(int)flen,&f) == NULL) goto err;
            ^
283.   
284.   	if ((rsa->flags & RSA_FLAG_BLINDING) && (rsa->blinding == NULL))

crypto/bn/bn_lib.c:574:1: Parameter `*ret->d`
  572.   
  573.   /* ignore negative */
  574. > BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
  575.   	{
  576.   	unsigned int i,m;

crypto/rsa/rsa_eay.c:287:8: Call
285.   		RSA_blinding_on(rsa,ctx);
286.   	if (rsa->flags & RSA_FLAG_BLINDING)
287.   		if (!BN_BLINDING_convert(&f,rsa->blinding,ctx)) goto err;
              ^
288.   
289.   	/* do the decrypt */

crypto/bn/bn_blind.c:115:1: Parameter `*n->d`
  113.   	}
  114.   
  115. > int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx)
  116.   	{
  117.   	bn_check_top(n);

crypto/bn/bn_blind.c:124:9: Call
  122.   		return(0);
  123.   		}
  124.   	return(BN_mod_mul(n,n,b->A,b->mod,ctx));
                 ^
  125.   	}
  126.   

crypto/bn/bn_exp.c:66:1: Parameter `*ret->d`
    64.   
    65.   /* slow but works */
    66. > int BN_mod_mul(BIGNUM *ret, BIGNUM *a, BIGNUM *b, BIGNUM *m, BN_CTX *ctx)
    67.   	{
    68.   	BIGNUM *t;

crypto/bn/bn_exp.c:80:7: Call
    78.   	else
    79.   		{ if (!BN_mul(t,a,b,ctx)) goto err; }
    80.   	if (!BN_mod(ret,t,m,ctx)) goto err;
                ^
    81.   	r=1;
    82.   err:

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

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

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

crypto/bn/bn_div.c:141:10: Call
        139.   		{
        140.   		if (rm != NULL)
        141.   			{ if (BN_copy(rm,num) == NULL) return(0); }
                        ^
        142.   		if (dv != NULL) BN_zero(dv);
        143.   		return(1);

crypto/bn/bn_lib.c:454:1: Parameter `*a->d`
          452.   	}
          453.   
          454. > BIGNUM *BN_copy(BIGNUM *a, BIGNUM *b)
          455.   	{
          456.   	int i;

crypto/bn/bn_lib.c:462:6: Call
          460.   
          461.   	if (a == b) return(a);
          462.   	if (bn_wexpand(a,b->top) == NULL) return(NULL);
                      ^
          463.   
          464.   #if 1

crypto/bn/bn_lib.c:344:1: <Length trace>
342.   	}
343.   
344. > BIGNUM *bn_expand2(BIGNUM *b, int words)
345.   	{
346.   	BN_ULONG *A,*B,*a;

crypto/bn/bn_lib.c:344:1: Parameter `*b->d`
            342.   	}
            343.   
            344. > BIGNUM *bn_expand2(BIGNUM *b, int words)
            345.   	{
            346.   	BN_ULONG *A,*B,*a;

crypto/bn/bn_lib.c:367:3: Assignment
            365.   memset(A,0x5c,sizeof(BN_ULONG)*(words+1));
            366.   #if 1
            367.   		B=b->d;
                     ^
            368.   		/* Check if the previous number needs to be copied */
            369.   		if (B != NULL)

crypto/bn/bn_lib.c:377:43: Array access: Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [0, +oo] by call to `BN_BLINDING_convert` 
            375.   				{
            376.   				A[0]=B[0]; A[1]=B[1]; A[2]=B[2]; A[3]=B[3];
            377.   				A[4]=B[4]; A[5]=B[5]; A[6]=B[6]; A[7]=B[7];
                                                             ^
            378.   				A+=8;
            379.   				B+=8;
