crypto/rsa/rsa_gen.c:98: error: BUFFER_OVERRUN_L3
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [2, +oo] by call to `BN_set_bit`.
Showing all 9 steps of the trace


crypto/rsa/rsa_gen.c:89:9: Call
87.   
88.   	/* set e */ 
89.   	rsa->e=BN_new();
              ^
90.   	if (rsa->e == NULL) goto err;
91.   

crypto/bn/bn_lib.c:300:2: Assignment
  298.   		}
  299.   	ret->flags=BN_FLG_MALLOCED;
  300.   	ret->top=0;
          ^
  301.   	ret->neg=0;
  302.   	ret->max=0;

crypto/rsa/rsa_gen.c:98:4: Call
96.   		{
97.   		if (e_value & (1<<i))
98.   			BN_set_bit(rsa->e,i);
          ^
99.   		}
100.   #else

crypto/bn/bn_lib.c:709:1: Parameter `a->max`
  707.   	}
  708.   
  709. > int BN_set_bit(BIGNUM *a, int n)
  710.   	{
  711.   	int i,j,k;

crypto/bn/bn_lib.c:717:7: Call
  715.   	if (a->top <= i)
  716.   		{
  717.   		if (bn_wexpand(a,i+1) == NULL) return(0);
               ^
  718.   		for(k=a->top; k<i+1; k++)
  719.   			a->d[k]=0;

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

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

crypto/bn/bn_lib.c:466:3: Assignment
    464.   		/* Now need to zero any data between b->top and b->max */
    465.   
    466.   		A= &(b->d[b->top]);
             ^
    467.   		for (i=(b->max - b->top)>>3; i>0; i--,A+=8)
    468.   			{

crypto/bn/bn_lib.c:470:28: Array access: Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [2, +oo] by call to `BN_set_bit` 
    468.   			{
    469.   			A[0]=0; A[1]=0; A[2]=0; A[3]=0;
    470.   			A[4]=0; A[5]=0; A[6]=0; A[7]=0;
                                      ^
    471.   			}
    472.   		for (i=(b->max - b->top)&7; i>0; i--,A++)
