diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 17b875e43498..a4de2583d1a5 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -4261,6 +4261,7 @@ PHP_FUNCTION(openssl_seal) iv_len = EVP_CIPHER_iv_length(cipher); if (!iv && iv_len > 0) { + php_openssl_release_evp_cipher(cipher); zend_argument_value_error(6, "cannot be null for the chosen cipher algorithm"); RETURN_THROWS(); } @@ -4347,6 +4348,7 @@ PHP_FUNCTION(openssl_seal) efree(eks); efree(eksl); efree(pkeys); + php_openssl_release_evp_cipher(cipher); } /* }}} */ @@ -4423,6 +4425,7 @@ PHP_FUNCTION(openssl_open) EVP_CIPHER_CTX_free(ctx); out_pkey: EVP_PKEY_free(pkey); + php_openssl_release_evp_cipher(cipher); } /* }}} */