diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 6d179cebabda..7eda436a6db4 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -6677,6 +6677,10 @@ PHP_FUNCTION(openssl_cms_read) case NID_pkcs7_signedAndEnveloped: certs = CMS_get1_certs(cms); crls = CMS_get1_crls(cms); + if ((!certs || !crls) && ERR_peek_error() != 0) { + php_openssl_store_errors(); + goto clean_exit; + } break; default: break;