diff options
author | Ulf Möller <ulf@openssl.org> | 2001-06-06 17:17:53 +0000 |
---|---|---|
committer | Ulf Möller <ulf@openssl.org> | 2001-06-06 17:17:53 +0000 |
commit | ee8aa8217abc66c7d5d280960755a0180a20757d (patch) | |
tree | 5a3bdd3ddcefc1cd1e192889e79586066dc6ae31 /crypto/rsa | |
parent | 2b49dd1e8f62a5609e9ed7071b3e1d768f347323 (diff) | |
download | openssl-ee8aa8217abc66c7d5d280960755a0180a20757d.tar.gz |
make sure we don't write to seed[-1]
Diffstat (limited to 'crypto/rsa')
-rw-r--r-- | crypto/rsa/rsa_oaep.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index e3d81a7a37..a3361dc3d7 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -111,6 +111,11 @@ int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, } lzero = num - flen; + if (lzero < 0) + { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP, RSA_R_OAEP_DECODING_ERROR); + return (-1); + } maskeddb = from - lzero + SHA_DIGEST_LENGTH; MGF1(seed, SHA_DIGEST_LENGTH, maskeddb, dblen); |