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


crypto/rsa/rsa_eay.c:210:6: Call
208.   	if (i <= 0) goto err;
209.   
210.   	if (BN_bin2bn(buf,num,&f) == NULL) goto err;
            ^
211.   
212.   	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:215:8: Call
213.   		RSA_blinding_on(rsa,ctx);
214.   	if (rsa->flags & RSA_FLAG_BLINDING)
215.   		if (!BN_BLINDING_convert(&f,rsa->blinding,ctx)) goto err;
              ^
216.   
217.   	if (	(rsa->p != NULL) &&

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:275:3: Call
        273.   	if (rm != NULL)
        274.   		{
        275.   		BN_rshift(rm,snum,norm_shift);
                 ^
        276.   		rm->neg=num->neg;
        277.   		}

crypto/bn/bn_shift.c:156:1: Parameter `*r->d`
          154.   	}
          155.   
          156. > int BN_rshift(BIGNUM *r, BIGNUM *a, int n)
          157.   	{
          158.   	int i,j,nw,lb,rb;

crypto/bn/bn_shift.c:167:3: Call
          165.   	if (nw > a->top)
          166.   		{
          167.   		BN_zero(r);
                   ^
          168.   		return(1);
          169.   		}

crypto/bn/bn_lib.c:553:2: <Offset trace>
551.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
552.   
553.   	n=sizeof(BN_ULONG)/BN_BYTES;
        ^
554.   	a->neg=0;
555.   	a->top=0;

crypto/bn/bn_lib.c:553:2: Assignment
            551.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
            552.   
            553.   	n=sizeof(BN_ULONG)/BN_BYTES;
                    ^
            554.   	a->neg=0;
            555.   	a->top=0;

crypto/bn/bn_lib.c:548:1: <Length trace>
546.   	}
547.   
548. > int BN_set_word(BIGNUM *a, BN_ULONG w)
549.   	{
550.   	int i,n;

crypto/bn/bn_lib.c:548:1: Parameter `*a->d`
            546.   	}
            547.   
            548. > int BN_set_word(BIGNUM *a, BN_ULONG w)
            549.   	{
            550.   	int i,n;

crypto/bn/bn_lib.c:567:3: Array access: Offset: 1 Size: [0, +oo] by call to `BN_BLINDING_convert` 
            565.   		w>>=BN_BITS4;
            566.   #endif
            567.   		a->d[i]=(BN_ULONG)w&BN_MASK2;
                     ^
            568.   		if (a->d[i] != 0) a->top=i+1;
            569.   		}
