diff options
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/evp/p_open.c')
| -rw-r--r-- | Cryptlib/OpenSSL/crypto/evp/p_open.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Cryptlib/OpenSSL/crypto/evp/p_open.c b/Cryptlib/OpenSSL/crypto/evp/p_open.c index 6740ac81..229eb641 100644 --- a/Cryptlib/OpenSSL/crypto/evp/p_open.c +++ b/Cryptlib/OpenSSL/crypto/evp/p_open.c @@ -95,7 +95,7 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, goto err; } - i = EVP_PKEY_decrypt(key, ek, ekl, priv); + i = EVP_PKEY_decrypt_old(key, ek, ekl, priv); if ((i <= 0) || !EVP_CIPHER_CTX_set_key_length(ctx, i)) { /* ERROR */ goto err; @@ -116,7 +116,8 @@ int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) int i; i = EVP_DecryptFinal_ex(ctx, out, outl); - EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, NULL); + if (i) + i = EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, NULL); return (i); } #else /* !OPENSSL_NO_RSA */ |
