aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/rsa
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2001-06-06 17:17:53 +0000
committerUlf Möller <ulf@openssl.org>2001-06-06 17:17:53 +0000
commitee8aa8217abc66c7d5d280960755a0180a20757d (patch)
tree5a3bdd3ddcefc1cd1e192889e79586066dc6ae31 /crypto/rsa
parent2b49dd1e8f62a5609e9ed7071b3e1d768f347323 (diff)
downloadopenssl-ee8aa8217abc66c7d5d280960755a0180a20757d.tar.gz
make sure we don't write to seed[-1]
Diffstat (limited to 'crypto/rsa')
-rw-r--r--crypto/rsa/rsa_oaep.c5
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);