From: Benjamin Kaduk Date: Thu, 2 Jul 2020 21:12:33 +0000 (-0700) Subject: Use local IV storage in e_rc2.c X-Git-Tag: openssl-3.0.0-alpha7~586 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d91f902d73689c8a8c1bf684ff9d244197f8c7b3;p=thirdparty%2Fopenssl.git Use local IV storage in e_rc2.c Inline the pre-13273237a65d46186b6bea0b51aec90670d4598a versions of EVP_CIPHER_CTX_iv(), EVP_CIPHER_CTX_original_iv(), and EVP_CIPHER_CTX_iv_noconst() in e_rc2.c. For the legacy implementations, there's no need to use an in-provider storage for the IV, when the crypto operations themselves will be performed outside of the provider. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/12233) --- diff --git a/crypto/evp/e_rc2.c b/crypto/evp/e_rc2.c index 88d8e524cc7..e8d71069350 100644 --- a/crypto/evp/e_rc2.c +++ b/crypto/evp/e_rc2.c @@ -159,9 +159,7 @@ static int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type) if (type != NULL) { num = rc2_meth_to_magic(c); j = EVP_CIPHER_CTX_iv_length(c); - i = ASN1_TYPE_set_int_octetstring(type, num, - (unsigned char *)EVP_CIPHER_CTX_original_iv(c), - j); + i = ASN1_TYPE_set_int_octetstring(type, num, c->oiv, j); } return i; }