From 361ecb1d1a4d6d113a6a9cedcc272d3b09c485bd Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Fri, 19 Apr 2019 16:21:10 +0100 Subject: Fix EVP_CIPHER_CTX_rand_key() Make sure we use the the correct key length in EVP_CIPHER_CTX_rand_key(). Now that ciphers may come from providers we need to make sure we ask the provider for the value if appropriate. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/8794) --- crypto/evp/evp_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 4426a81629..c2411f496c 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -947,7 +947,7 @@ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key) { if (ctx->cipher->flags & EVP_CIPH_RAND_KEY) return EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_RAND_KEY, 0, key); - if (RAND_priv_bytes(key, ctx->key_len) <= 0) + if (RAND_priv_bytes(key, EVP_CIPHER_CTX_key_length(ctx)) <= 0) return 0; return 1; } -- cgit v1.2.3