If key or iv is NULL set the respective length to 0

[extended tests]

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/8794)
This commit is contained in:
Matt Caswell 2019-04-19 16:48:09 +01:00
parent 361ecb1d1a
commit 33b40a1027
1 changed files with 8 additions and 4 deletions

View File

@ -243,9 +243,11 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
return ctx->cipher->einit(ctx->provctx,
key,
EVP_CIPHER_CTX_key_length(ctx),
key == NULL ? 0
: EVP_CIPHER_CTX_key_length(ctx),
iv,
EVP_CIPHER_CTX_iv_length(ctx));
iv == NULL ? 0
: EVP_CIPHER_CTX_iv_length(ctx));
}
if (ctx->cipher->dinit == NULL) {
@ -255,9 +257,11 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
return ctx->cipher->dinit(ctx->provctx,
key,
EVP_CIPHER_CTX_key_length(ctx),
key == NULL ? 0
: EVP_CIPHER_CTX_key_length(ctx),
iv,
EVP_CIPHER_CTX_iv_length(ctx));
iv == NULL ? 0
: EVP_CIPHER_CTX_iv_length(ctx));
/* TODO(3.0): Remove legacy code below */
legacy: