From e21cbf4d9bafebb2560d1acac1e47e879c7f7493 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Mon, 2 Jul 2012 12:33:42 -0400 Subject: Update OpenSSL --- Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c') diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c index 383a7045..2f21ddbe 100755 --- a/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c +++ b/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c @@ -207,8 +207,17 @@ RSA *RSA_new_method(ENGINE *engine) ret->blinding=NULL; ret->mt_blinding=NULL; ret->bignum_data=NULL; - ret->flags=ret->meth->flags; - CRYPTO_new_ex_data(CRYPTO_EX_INDEX_RSA, ret, &ret->ex_data); + ret->flags=ret->meth->flags & ~RSA_FLAG_NON_FIPS_ALLOW; + if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_RSA, ret, &ret->ex_data)) + { +#ifndef OPENSSL_NO_ENGINE + if (ret->engine) + ENGINE_finish(ret->engine); +#endif + OPENSSL_free(ret); + return(NULL); + } + if ((ret->meth->init != NULL) && !ret->meth->init(ret)) { #ifndef OPENSSL_NO_ENGINE -- cgit v1.2.3