crypto/dsa/dsa_gen.c:280: error: BUFFER_OVERRUN_L3
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [0, +oo] by call to `BN_rshift`.
Showing all 9 steps of the trace


crypto/dsa/dsa_gen.c:277:7: Call
275.   
276.   	/* step 2 */
277.   	if (!BN_sub(w_1,w,BN_value_one())) goto err;
             ^
278.   	for (a=1; !BN_is_bit_set(w_1,a); a++)
279.   		;

crypto/bn/bn_add.c:258:1: Parameter `*r->d`
  256.   	}
  257.   
  258. > int BN_sub(BIGNUM *r, BIGNUM *a, BIGNUM *b)
  259.   	{
  260.   	int max;

crypto/dsa/dsa_gen.c:280:7: Call
278.   	for (a=1; !BN_is_bit_set(w_1,a); a++)
279.   		;
280.   	if (!BN_rshift(m,w_1,a)) goto err;
             ^
281.   
282.   	BN_MONT_CTX_set(mont,w,ctx);

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:173:7: Call
  171.   		{
  172.   		r->neg=a->neg;
  173.   		if (bn_wexpand(r,a->top-nw+1) == NULL) return(0);
               ^
  174.   		}
  175.   

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_rshift` 
    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;
