crypto/dsa/dsa_gen.c:284: error: BUFFER_OVERRUN_L1
  Offset: [3, +oo] (⇐ [0, +oo] + 3) Size: [0, 3] by call to `BN_mod_mul_montgomery`.
Showing all 12 steps of the trace


crypto/dsa/dsa_gen.c:284:2: Call
282.   
283.   	BN_MONT_CTX_set(mont,w,ctx);
284.   	BN_to_montgomery(mont_1,BN_value_one(),mont,ctx);
        ^
285.   	BN_to_montgomery(w_1,w_1,mont,ctx);
286.   	for (i=1; i < n; i++)

crypto/bn/bn_lib.c:127:26: Assignment
  125.   	{
  126.   	static BN_ULONG data_one=1L;
  127.   	static BIGNUM const_one={&data_one,1,1,0};
                                  ^
  128.   
  129.   	return(&const_one);

crypto/dsa/dsa_gen.c:284:2: Call
282.   
283.   	BN_MONT_CTX_set(mont,w,ctx);
284.   	BN_to_montgomery(mont_1,BN_value_one(),mont,ctx);
        ^
285.   	BN_to_montgomery(w_1,w_1,mont,ctx);
286.   	for (i=1; i < n; i++)

crypto/bn/bn_mont.c:71:1: Parameter `a->top`
  69.   #define MONT_WORD
  70.   
  71. > int BN_mod_mul_montgomery(BIGNUM *r, BIGNUM *a, BIGNUM *b,
  72.   			  BN_MONT_CTX *mont, BN_CTX *ctx)
  73.   	{

crypto/bn/bn_mont.c:93:8: Call
  91.   			tmp->top--;
  92.   #else
  93.   		if (!BN_sqr(tmp,a,ctx)) goto err;
               ^
  94.   #endif
  95.   		}

crypto/bn/bn_sqr.c:65:1: Parameter `r->max`
    63.   /* r must not be a */
    64.   /* I've just gone over this and it is now %20 faster on x86 - eay - 27 Jun 96 */
    65. > int BN_sqr(BIGNUM *r, BIGNUM *a, BN_CTX *ctx)
    66.   	{
    67.   	int max,al;

crypto/bn/bn_sqr.c:129:9: Call
    127.   			else
    128.   				{
    129.   				if (bn_wexpand(tmp,max) == NULL) return(0);
                   ^
    130.   				bn_sqr_normal(rr->d,a->d,al,tmp->d);
    131.   				}

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

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

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

crypto/bn/bn_lib.c:448:32: Array access: Offset: [3, +oo] (⇐ [0, +oo] + 3) Size: [0, 3] by call to `BN_mod_mul_montgomery` 
      446.   				BN_ULONG a0,a1,a2,a3;
      447.   				a0=B[0]; a1=B[1]; a2=B[2]; a3=B[3];
      448.   				A[0]=a0; A[1]=a1; A[2]=a2; A[3]=a3;
                                            ^
      449.   				}
      450.   			switch (b->top&3)
