X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fe_aes.c;h=c323fa28922616463d91295bd32500eb5a3487f6;hp=9d03a9602fddca0de33784f572682360cde0a920;hb=94f1b50c0fde7b60a7bf31c6eb8c93e84b9e3f24;hpb=bd54d55c1da428e7d3e5bb6bdff7bfc0f10d7586 diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 9d03a9602f..c323fa2892 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -88,7 +88,9 @@ IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY, static int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) { - if (enc) + if ((ctx->cipher->flags & EVP_CIPH_MODE) == EVP_CIPH_CFB_MODE + || (ctx->cipher->flags & EVP_CIPH_MODE) == EVP_CIPH_OFB_MODE + || enc) AES_set_encrypt_key(key, ctx->key_len * 8, ctx->cipher_data); else AES_set_decrypt_key(key, ctx->key_len * 8, ctx->cipher_data);