crypto/bn/bntest.c:595: error: BUFFER_OVERRUN_L3
  Offset: 6 Size: [0, +oo] by call to `BN_mod_mul`.
Showing all 14 steps of the trace


crypto/bn/bntest.c:584:2: Call
582.   	e=BN_new();
583.   
584.   	BN_rand(c,1024,0,0); /**/
        ^
585.   	for (i=0; i<10; i++)
586.   		{

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:587:3: Call
585.   	for (i=0; i<10; i++)
586.   		{
587.   		BN_rand(a,475+i*10,0,0); /**/
         ^
588.   		BN_rand(b,425+i*10,0,0); /**/
589.   		a->neg=rand_neg();

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:588:3: Call
586.   		{
587.   		BN_rand(a,475+i*10,0,0); /**/
588.   		BN_rand(b,425+i*10,0,0); /**/
         ^
589.   		a->neg=rand_neg();
590.   		b->neg=rand_neg();

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:595:8: Call
593.   				BN_mod_mul(d,a,b,c,ctx);*/ /**/
594.   
595.   		if (!BN_mod_mul(e,a,b,c,ctx))
              ^
596.   			{
597.   			unsigned long l;

crypto/bn/bn_exp.c:66:1: Parameter `*a->d`
  64.   
  65.   /* slow but works */
  66. > int BN_mod_mul(BIGNUM *ret, BIGNUM *a, BIGNUM *b, BIGNUM *m, BN_CTX *ctx)
  67.   	{
  68.   	BIGNUM *t;

crypto/bn/bn_exp.c:77:10: Call
  75.   	t= &(ctx->bn[ctx->tos++]);
  76.   	if (a == b)
  77.   		{ if (!BN_sqr(t,a,ctx)) goto err; }
                 ^
  78.   	else
  79.   		{ if (!BN_mul(t,a,b,ctx)) goto err; }

crypto/bn/bn_sqr.c:65:1: Parameter `*a->d`
    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:103:3: Call
    101.   		bn_sqr_normal(rr->d,a->d,8,t);
    102.   #else
    103.   		bn_sqr_comba8(rr->d,a->d);
             ^
    104.   #endif
    105.   		}

crypto/bn/bn_asm.c:643:1: <Length trace>
641.   	}
642.   
643. > void bn_sqr_comba8(BN_ULONG *r, BN_ULONG *a)
644.   	{
645.   #ifdef BN_LLONG

crypto/bn/bn_asm.c:643:1: Parameter `*a`
      641.   	}
      642.   
      643. > void bn_sqr_comba8(BN_ULONG *r, BN_ULONG *a)
      644.   	{
      645.   #ifdef BN_LLONG

crypto/bn/bn_asm.c:683:2: Array access: Offset: 6 Size: [0, +oo] by call to `BN_mod_mul` 
      681.   	sqr_add_c2(a,4,2,c1,c2,c3);
      682.   	sqr_add_c2(a,5,1,c1,c2,c3);
      683.   	sqr_add_c2(a,6,0,c1,c2,c3);
              ^
      684.   	r[6]=c1;
      685.   	c1=0;
