crypto/rsa/rsa_oaep.c:99: 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:71:1: Array declaration
69.       }
70.   
71. > int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
72.   	     unsigned char *from, int flen, int num, unsigned char *param,
73.   	     int plen)

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

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

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

crypto/sha/sha1dgst.c:126:1: <Length trace>
124.   	}
125.   
126. > void SHA1_Update(SHA_CTX *c, register unsigned char *data,
127.   	     unsigned long len)
128.   	{

crypto/sha/sha1dgst.c:126:1: Parameter `*data`
    124.   	}
    125.   
    126. > void SHA1_Update(SHA_CTX *c, register unsigned char *data,
    127.   	     unsigned long len)
    128.   	{

crypto/sha/sha1dgst.c:253:2: Assignment
    251.   	for (sw=0; sw < ew; sw++)
    252.   		{ M_c2nl(data,l); p[sw]=l; }
    253.   	M_c2nl_p(data,l,ec);
            ^
    254.   	p[sw]=l;
    255.   	}

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