crypto/bn/bntest.c:845: error: BUFFER_OVERRUN_L3
  Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, +oo] by call to `BN_mul`.
Showing all 16 steps of the trace


crypto/bn/bntest.c:825:2: Call
823.   	c=BN_new();
824.   	d=BN_new();
825.   	BN_one(c);
        ^
826.   
827.   	BN_rand(a,200,0,0); /**/

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/bntest.c:827:2: Call
825.   	BN_one(c);
826.   
827.   	BN_rand(a,200,0,0); /**/
        ^
828.   	a->neg=rand_neg();
829.   	for (i=0; i<70; i++)

crypto/bn/bn_rand.c:65:1: Parameter `*rnd->d`
  63.   #include <openssl/rand.h>
  64.   
  65. > int BN_rand(BIGNUM *rnd, int bits, int top, int bottom)
  66.   	{
  67.   	unsigned char *buf=NULL;

crypto/bn/bntest.c:831:3: Call
829.   	for (i=0; i<70; i++)
830.   		{
831.   		BN_lshift(b,a,i+1);
         ^
832.   		BN_add(c,c,c);
833.   		if (bp != NULL)

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

crypto/bn/bntest.c:832:3: Call
830.   		{
831.   		BN_lshift(b,a,i+1);
832.   		BN_add(c,c,c);
         ^
833.   		if (bp != NULL)
834.   			{

crypto/bn/bn_add.c:64:1: Parameter `*r->d`
  62.   
  63.   /* r can == a or b */
  64. > int BN_add(BIGNUM *r, BIGNUM *a, BIGNUM *b)
  65.   	{
  66.   	BIGNUM *tmp;

crypto/bn/bn_add.c:86:9: Call
  84.   		if (BN_ucmp(a,b) < 0)
  85.   			{
  86.   			if (!BN_usub(r,b,a)) return(0);
                ^
  87.   			r->neg=1;
  88.   			}

crypto/bn/bn_add.c:167:1: Parameter `*r->d`
    165.   
    166.   /* unsigned subtraction of b from a, a must be larger than b. */
    167. > int BN_usub(BIGNUM *r, BIGNUM *a, BIGNUM *b)
    168.   	{
    169.   	int max,min;

crypto/bn/bntest.c:845:3: Call
843.   			BIO_puts(bp,"\n");
844.   			}
845.   		BN_mul(d,a,c,ctx);
         ^
846.   		BN_sub(d,d,b);
847.   		if(!BN_is_zero(d))

crypto/bn/bn_mul.c:560:1: Parameter `*b->d`
  558.   #endif
  559.   
  560. > int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
  561.   	{
  562.   	int top,al,bl;

crypto/bn/bn_mul.c:619:4: Call
  617.   			if (bn_wexpand(rr,top) == NULL) return(0);
  618.   			rr->top=top;
  619.   			bn_mul_normal(rr->d,a->d,al,b->d,bl);
            ^
  620.   			goto end;
  621.   			}

crypto/bn/bn_mul.c:699:1: <Length trace>
697.   	}
698.   
699. > void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb)
700.   	{
701.   	BN_ULONG *rr;

crypto/bn/bn_mul.c:699:1: Parameter `*b`
    697.   	}
    698.   
    699. > void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb)
    700.   	{
    701.   	BN_ULONG *rr;

crypto/bn/bn_mul.c:728:39: Array access: Offset: [4, +oo] (⇐ [0, +oo] + 4) Size: [0, +oo] by call to `BN_mul` 
    726.   		rr[3]=bn_mul_add_words(&(r[3]),a,na,b[3]);
    727.   		if (--nb <= 0) return;
    728.   		rr[4]=bn_mul_add_words(&(r[4]),a,na,b[4]);
                                                 ^
    729.   		rr+=4;
    730.   		r+=4;
