crypto/rsa/rsa_eay.c:306: error: BUFFER_OVERRUN_L3
  Offset: [20, +oo] Size: [0, +oo] by call to `RSA_padding_check_PKCS1_OAEP`.
Showing all 14 steps of the trace


crypto/rsa/rsa_eay.c:256:6: Call
254.   	if (ctx == NULL) goto err;
255.   
256.   	num=BN_num_bytes(rsa->n);
            ^
257.   
258.   	if ((buf=(unsigned char *)Malloc(num)) == NULL)

crypto/bn/bn_lib.c:245:19: Assignment
  243.   	bn_check_top(a);
  244.   
  245.   	if (a->top == 0) return(0);
                           ^
  246.   	l=a->d[a->top-1];
  247.   	i=(a->top-1)*BN_BITS2;

crypto/rsa/rsa_eay.c:256:2: Assignment
254.   	if (ctx == NULL) goto err;
255.   
256.   	num=BN_num_bytes(rsa->n);
        ^
257.   
258.   	if ((buf=(unsigned char *)Malloc(num)) == NULL)

crypto/rsa/rsa_eay.c:258:28: Array declaration
256.   	num=BN_num_bytes(rsa->n);
257.   
258.   	if ((buf=(unsigned char *)Malloc(num)) == NULL)
                                  ^
259.   		{
260.   		RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT,ERR_R_MALLOC_FAILURE);

crypto/rsa/rsa_eay.c:258:7: Assignment
256.   	num=BN_num_bytes(rsa->n);
257.   
258.   	if ((buf=(unsigned char *)Malloc(num)) == NULL)
             ^
259.   		{
260.   		RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT,ERR_R_MALLOC_FAILURE);

crypto/rsa/rsa_eay.c:306:12: Call
304.   #ifndef NO_SHA
305.           case RSA_PKCS1_OAEP_PADDING:
306.   	        r=RSA_padding_check_PKCS1_OAEP(to,num,buf,j,num,NULL,0);
                  ^
307.                   break;
308.   #endif

crypto/rsa/rsa_oaep.c:72:1: Parameter `*from`
  70.       }
  71.   
  72. > int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
  73.   	     unsigned char *from, int flen, int num, unsigned char *param,
  74.   	     int plen)

crypto/rsa/rsa_oaep.c:94:5: Assignment
  92.   	}
  93.   
  94.       maskeddb = from + SHA_DIGEST_LENGTH;
            ^
  95.       
  96.       MGF1(seed, SHA_DIGEST_LENGTH, maskeddb, dblen);

crypto/rsa/rsa_oaep.c:96:5: Call
  94.       maskeddb = from + SHA_DIGEST_LENGTH;
  95.       
  96.       MGF1(seed, SHA_DIGEST_LENGTH, maskeddb, dblen);
            ^
  97.       for (i = 0; i < SHA_DIGEST_LENGTH; i++)
  98.   	seed[i] ^= from[i];

crypto/rsa/rsa_oaep.c:132:1: Parameter `*seed`
    130.       }
    131.   
    132. > int MGF1(unsigned char *mask, long len, unsigned char *seed, long seedlen)
    133.       {
    134.       long i, outlen = 0;

crypto/rsa/rsa_oaep.c:144:2: Call
    142.   	  cnt[2] = (i >> 8) & 255, cnt[3] = i & 255;
    143.   	SHA1_Init(&c);
    144.   	SHA1_Update(&c, seed, seedlen);
            ^
    145.   	SHA1_Update(&c, cnt, 4);
    146.   	if (outlen + SHA_DIGEST_LENGTH <= len)

crypto/sha/sha1dgst.c:117:1: <Length trace>
115.   	}
116.   
117. > void SHA1_Update(SHA_CTX *c, const register unsigned char *data,
118.   	     unsigned long len)
119.   	{

crypto/sha/sha1dgst.c:117:1: Parameter `*data`
      115.   	}
      116.   
      117. > void SHA1_Update(SHA_CTX *c, const register unsigned char *data,
      118.   	     unsigned long len)
      119.   	{

crypto/sha/sha1dgst.c:227:4: Array access: Offset: [20, +oo] Size: [0, +oo] by call to `RSA_padding_check_PKCS1_OAEP` 
      225.   		for (sw=(SHA_BLOCK/4); sw; sw--)
      226.   			{
      227.   			M_c2nl(data,l); *(p++)=l;
                ^
      228.   			M_c2nl(data,l); *(p++)=l;
      229.   			M_c2nl(data,l); *(p++)=l;
