crypto/bn/bn_mont.c:350: error: BUFFER_OVERRUN_L3
  Offset: [3, +oo] (⇐ [0, +oo] + 3) Size: [0, +oo] by call to `BN_set_word`.
Showing all 11 steps of the trace


crypto/bn/bn_mont.c:333:8: Call
331.   		tmod.neg=mod->neg;
332.   
333.   		if ((BN_mod_inverse(&Ri,R,&tmod,ctx)) == NULL)
              ^
334.   			goto err;
335.   		BN_lshift(&Ri,&Ri,BN_BITS2);			/* R*Ri */

crypto/bn/bn_gcd.c:143:1: Parameter `*in->d`
  141.   
  142.   /* solves ax == 1 (mod n) */
  143. > BIGNUM *BN_mod_inverse(BIGNUM *in, BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
  144.   	{
  145.   	BIGNUM *A,*B,*X,*Y,*M,*D,*R;

crypto/bn/bn_mont.c:335:3: Call
333.   		if ((BN_mod_inverse(&Ri,R,&tmod,ctx)) == NULL)
334.   			goto err;
335.   		BN_lshift(&Ri,&Ri,BN_BITS2);			/* R*Ri */
         ^
336.   		if (!BN_is_zero(&Ri))
337.   			{

crypto/bn/bn_shift.c:124:1: Parameter `*r->d`
  122.   	}
  123.   
  124. > int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
  125.   	{
  126.   	int i,nw,lb,rb;

crypto/bn/bn_mont.c:350:4: Call
348.   			 * this is 1/256, 16bit, 1 in 2^16 etc.
349.   			 */
350.   			BN_set_word(&Ri,BN_MASK2);
          ^
351.   			}
352.   		BN_div(&Ri,NULL,&Ri,&tmod,ctx);

crypto/bn/bn_lib.c:567:1: Parameter `*a->d`
  565.   	}
  566.   
  567. > int BN_set_word(BIGNUM *a, BN_ULONG w)
  568.   	{
  569.   	int i,n;

crypto/bn/bn_lib.c:570:6: Call
  568.   	{
  569.   	int i,n;
  570.   	if (bn_expand(a,sizeof(BN_ULONG)*8) == NULL) return(0);
              ^
  571.   
  572.   	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->d`
    342.   	}
    343.   
    344. > BIGNUM *bn_expand2(BIGNUM *b, int words)
    345.   	{
    346.   	BN_ULONG *A,*a;

crypto/bn/bn_lib.c:367:3: Assignment
    365.   			}
    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:447:35: Array access: Offset: [3, +oo] (⇐ [0, +oo] + 3) Size: [0, +oo] by call to `BN_set_word` 
    445.   				 */
    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.   				}
