crypto/rsa/rsa_lib.c:255: error: BUFFER_OVERRUN_L3
  Offset: [3, +oo] (⇐ [0, +oo] + 3) Size: [0, +oo] by call to `BN_BLINDING_new`.
Showing all 13 steps of the trace


crypto/rsa/rsa_lib.c:250:7: Call
248.   	A= &(ctx->bn[0]);
249.   	ctx->tos++;
250.   	if (!BN_rand(A,BN_num_bits(rsa->n)-1,1,0)) goto err;
             ^
251.   	if ((Ai=BN_mod_inverse(NULL,A,rsa->n,ctx)) == NULL) goto err;
252.   

crypto/bn/bn_rand.c:65:1: Parameter `rnd->top`
  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/rsa/rsa_lib.c:255:16: Call
253.   	if (!rsa->meth->bn_mod_exp(A,A,rsa->e,rsa->n,ctx,rsa->_method_mod_n))
254.   	    goto err;
255.   	rsa->blinding=BN_BLINDING_new(A,Ai,rsa->n);
                      ^
256.   	ctx->tos--;
257.   	rsa->flags|=RSA_FLAG_BLINDING;

crypto/bn/bn_blind.c:63:1: Parameter `A->top`
  61.   #include "bn_lcl.h"
  62.   
  63. > BN_BLINDING *BN_BLINDING_new(BIGNUM *A, BIGNUM *Ai, BIGNUM *mod)
  64.   	{
  65.   	BN_BLINDING *ret=NULL;

crypto/bn/bn_blind.c:78:7: Call
  76.   	if ((ret->A=BN_new()) == NULL) goto err;
  77.   	if ((ret->Ai=BN_new()) == NULL) goto err;
  78.   	if (!BN_copy(ret->A,A)) goto err;
              ^
  79.   	if (!BN_copy(ret->Ai,Ai)) goto err;
  80.   	ret->mod=mod;

crypto/bn/bn_lib.c:499:1: Parameter `*a->d`
    497.   	}
    498.   
    499. > BIGNUM *BN_copy(BIGNUM *a, BIGNUM *b)
    500.   	{
    501.   	int i;

crypto/bn/bn_blind.c:79:7: Call
  77.   	if ((ret->Ai=BN_new()) == NULL) goto err;
  78.   	if (!BN_copy(ret->A,A)) goto err;
  79.   	if (!BN_copy(ret->Ai,Ai)) goto err;
              ^
  80.   	ret->mod=mod;
  81.   	return(ret);

crypto/bn/bn_lib.c:499:1: Parameter `*a->d`
    497.   	}
    498.   
    499. > BIGNUM *BN_copy(BIGNUM *a, BIGNUM *b)
    500.   	{
    501.   	int i;

crypto/bn/bn_lib.c:508:6: Call
    506.   
    507.   	if (a == b) return(a);
    508.   	if (bn_wexpand(a,b->top) == NULL) return(NULL);
                ^
    509.   
    510.   #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,*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_BLINDING_new` 
      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.   				}
