crypto/rsa/rsa_oaep.c:100: error: BUFFER_OVERRUN_L3
  Offset: [-3, +oo] (⇐ [-2, +oo] + -1) Size: 20 by call to `MGF1`.
Showing all 8 steps of the trace


crypto/rsa/rsa_oaep.c:72:1: Array declaration
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:100:5: Call
98.   	seed[i] ^= from[i];
99.     
100.       MGF1(db, dblen, seed, SHA_DIGEST_LENGTH);
           ^
101.       for (i = 0; i < dblen; i++)
102.   	db[i] ^= maskeddb[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:244:2: Assignment
    242.   	for (sw=0; sw < ew; sw++)
    243.   		{ M_c2nl(data,l); p[sw]=l; }
    244.   	M_c2nl_p(data,l,ec);
            ^
    245.   	p[sw]=l;
    246.   	}

crypto/sha/sha1dgst.c:244:2: Array access: Offset: [-3, +oo] (⇐ [-2, +oo] + -1) Size: 20 by call to `MGF1` 
    242.   	for (sw=0; sw < ew; sw++)
    243.   		{ M_c2nl(data,l); p[sw]=l; }
    244.   	M_c2nl_p(data,l,ec);
            ^
    245.   	p[sw]=l;
    246.   	}
