crypto/bn/bn_lib.c:696: error: BUFFER_OVERRUN_S2
  Offset: [`a->top` + 4, +oo] (⇐ [`a->top`, +oo] + 4) Size: [`a->top` + 2, +oo] by call to `bn_expand2`.
Showing all 6 steps of the trace


crypto/bn/bn_lib.c:688:1: Parameter `a->max`
686.   	}
687.   
688. > int BN_set_bit(BIGNUM *a, int n)
689.   	{
690.   	int i,j,k;

crypto/bn/bn_lib.c:696:7: Call
694.   	if (a->top <= i)
695.   		{
696.   		if (bn_wexpand(a,i+1) == NULL) return(0);
             ^
697.   		for(k=a->top; k<i+1; k++)
698.   			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,*B,*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,*B,*a;

crypto/bn/bn_lib.c:418:3: Assignment
  416.   		/* Now need to zero any data between b->top and b->max */
  417.   
  418.   		B= &(b->d[b->top]);
           ^
  419.   		j=(b->max - b->top) & ~7;
  420.   		for (i=0; i<j; i+=8)

crypto/bn/bn_lib.c:423:4: Array access: Offset: [a->top + 4, +oo] (⇐ [a->top, +oo] + 4) Size: [a->top + 2, +oo] by call to `bn_expand2` 
  421.   			{
  422.   			B[0]=0; B[1]=0; B[2]=0; B[3]=0;
  423.   			B[4]=0; B[5]=0; B[6]=0; B[7]=0;
            ^
  424.   			B+=8;
  425.   			}
