X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Frsa%2Frsa_oaep.c;fp=crypto%2Frsa%2Frsa_oaep.c;h=868104f1bfdcfd19f7513ed8d840e66149c957bd;hp=c459b91ed233c611904bd7d9b5fe954984da5052;hb=c6d215e0d278fcd51ad474a3647b61e1b67290bb;hpb=3adc41dd22080c4161d8a2af98d7b29fdbb11915 diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index c459b91ed2..868104f1bf 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -91,17 +91,21 @@ int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, } if (PKCS1_MGF1(dbmask, emlen - mdlen, seed, mdlen, mgf1md) < 0) - return 0; + goto err; for (i = 0; i < emlen - mdlen; i++) db[i] ^= dbmask[i]; if (PKCS1_MGF1(seedmask, mdlen, db, emlen - mdlen, mgf1md) < 0) - return 0; + goto err; for (i = 0; i < mdlen; i++) seed[i] ^= seedmask[i]; OPENSSL_free(dbmask); return 1; + + err: + OPENSSL_free(dbmask); + return 0; } int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,