crypto/bn/bn_prime.c:127: error: BUFFER_OVERRUN_L3
  Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [2, +oo] by call to `BN_is_prime`.
Showing all 14 steps of the trace


crypto/bn/bn_prime.c:113:9: Call
111.   		if (strong)
112.   			{
113.   			if (!probable_prime_dh_strong(rnd,bits,add,rem,ctx))
               ^
114.   				 goto err;
115.   			}

crypto/bn/bn_prime.c:342:1: Parameter `p->top`
  340.   	}
  341.   
  342. > static int probable_prime_dh_strong(BIGNUM *p, int bits, BIGNUM *padd,
  343.   	     BIGNUM *rem, BN_CTX *ctx)
  344.   	{

crypto/bn/bn_prime.c:127:5: Call
125.   	if (!strong)
126.   		{
127.   		i=BN_is_prime(rnd,BN_prime_checks,callback,ctx,cb_arg);
           ^
128.   		if (i == -1) goto err;
129.   		if (i == 0) goto loop;

crypto/bn/bn_prime.c:162:1: Parameter `a->top`
  160.   	}
  161.   
  162. > int BN_is_prime(BIGNUM *a, int checks, void (*callback)(P_I_I_P),
  163.   	     BN_CTX *ctx_passed, char *cb_arg)
  164.   	{

crypto/bn/bn_prime.c:183:7: Call
  181.   
  182.   	/* Setup the montgomery structure */
  183.   	if (!BN_MONT_CTX_set(mont,a,ctx2)) goto err;
               ^
  184.   
  185.   	for (i=0; i<checks; i++)

crypto/bn/bn_mont.c:301:1: Parameter `mod->top`
    299.   	}
    300.   
    301. > int BN_MONT_CTX_set(BN_MONT_CTX *mont, BIGNUM *mod, BN_CTX *ctx)
    302.   	{
    303.   	BIGNUM Ri,*R;

crypto/bn/bn_mont.c:307:2: Call
    305.   	BN_init(&Ri);
    306.   	R= &(mont->RR);					/* grab RR as a temp */
    307.   	BN_copy(&(mont->N),mod);			/* Set N */
            ^
    308.   
    309.   #ifdef BN_RECURSION_MONT

crypto/bn/bn_lib.c:454:1: Parameter `a->max`
      452.   	}
      453.   
      454. > BIGNUM *BN_copy(BIGNUM *a, BIGNUM *b)
      455.   	{
      456.   	int i;

crypto/bn/bn_lib.c:462:6: Call
      460.   
      461.   	if (a == b) return(a);
      462.   	if (bn_wexpand(a,b->top) == NULL) return(NULL);
                  ^
      463.   
      464.   #if 1

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 `words`
        342.   	}
        343.   
        344. > BIGNUM *bn_expand2(BIGNUM *b, int words)
        345.   	{
        346.   	BN_ULONG *A,*B,*a;

crypto/bn/bn_lib.c:359:19: Array declaration
        357.   			return(NULL);
        358.   			}
        359.   		a=A=(BN_ULONG *)Malloc(sizeof(BN_ULONG)*(words+1));
                                 ^
        360.   		if (A == NULL)
        361.   			{

crypto/bn/bn_lib.c:359:5: Assignment
        357.   			return(NULL);
        358.   			}
        359.   		a=A=(BN_ULONG *)Malloc(sizeof(BN_ULONG)*(words+1));
                   ^
        360.   		if (A == NULL)
        361.   			{

crypto/bn/bn_lib.c:377:38: Array access: Offset: [7, +oo] (⇐ [0, +oo] + 7) Size: [2, +oo] by call to `BN_is_prime` 
        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;
