crypto/dsa/dsa_ossl.c:200: error: BUFFER_OVERRUN_L1
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: 4 by call to `BN_mod`.
Showing all 15 steps of the trace


crypto/dsa/dsa_ossl.c:178:9: Call
176.   
177.   	BN_init(&k);
178.   	if ((r=BN_new()) == NULL) goto err;
               ^
179.   	kinv=NULL;
180.   

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/dsa/dsa_ossl.c:200:7: Call
198.   	if (!dsa->meth->bn_mod_exp(dsa, r,dsa->g,&k,dsa->p,ctx,
199.   		(BN_MONT_CTX *)dsa->method_mont_p)) goto err;
200.   	if (!BN_mod(r,r,dsa->q,ctx)) goto err;
             ^
201.   
202.   	/* Compute  part of 's = inv(k) (m + xr) mod q' */

crypto/bn/bn_div.c:329:1: Parameter `rem->top`
  327.   
  328.   /* rem != m */
  329. > int BN_mod(BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
  330.   	{
  331.   #if 0 /* The old slow way */

crypto/bn/bn_div.c:355:9: Call
  353.   	return(1);
  354.   #else
  355.   	return(BN_div(NULL,rem,m,d,ctx));
                 ^
  356.   #endif
  357.   	}

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

crypto/bn/bn_div.c:318:3: Call
    316.   	if (rm != NULL)
    317.   		{
    318.   		BN_rshift(rm,snum,norm_shift);
             ^
    319.   		rm->neg=num->neg;
    320.   		}

crypto/bn/bn_shift.c:156:1: Parameter `r->top`
      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:569:1: Parameter `a->top`
        567.   	}
        568.   
        569. > int BN_set_word(BIGNUM *a, BN_ULONG w)
        570.   	{
        571.   	int i,n;

crypto/bn/bn_lib.c:572:6: Call
        570.   	{
        571.   	int i,n;
        572.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
                    ^
        573.   
        574.   	n=sizeof(BN_ULONG)/BN_BYTES;

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: 4 by call to `BN_mod` 
          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++)
