From 3e47e7b454fb5e51c4e7efa98f40ea94d6e9c1fa Mon Sep 17 00:00:00 2001 From: Pauli Date: Mon, 27 Apr 2020 07:48:32 +1000 Subject: [PATCH 1/1] coverity 1462567: Null pointer dereferences Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/11651) --- crypto/cms/cms_kari.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index 7372a94ecd..a2149ce002 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -415,7 +415,7 @@ static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari, { EVP_CIPHER_CTX *ctx = kari->ctx; const EVP_CIPHER *kekcipher; - int keylen = EVP_CIPHER_key_length(cipher); + int keylen; int ret; /* If a suitable wrap algorithm is already set nothing to do */ @@ -425,8 +425,10 @@ static int cms_wrap_init(CMS_KeyAgreeRecipientInfo *kari, return 0; return 1; } - else if (cipher != NULL - && (EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_GET_WRAP_CIPHER)) { + if (cipher == NULL) + return 0; + keylen = EVP_CIPHER_key_length(cipher); + if ((EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_GET_WRAP_CIPHER) != 0) { ret = EVP_CIPHER_meth_get_ctrl(cipher)(NULL, EVP_CTRL_GET_WRAP_CIPHER, 0, &kekcipher); if (ret <= 0) -- 2.34.1