Commit 53d082e6eef for php.net
commit 53d082e6eefffa901d6d3bccdaea6bb1ffa98f79
Author: Jarne Clauw <67628242+JarneClauw@users.noreply.github.com>
Date: Thu Jun 25 09:07:34 2026 +0200
Fixing memory leak in zif_openssl_seal and zif_openssl_open when fetching cipher with php_openssl_get_evp_cipher_by_name (#21967)
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index db811d4e7ed..b8bb42e0aeb 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -4273,6 +4273,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();
}
@@ -4359,6 +4360,7 @@ PHP_FUNCTION(openssl_seal)
efree(eks);
efree(eksl);
efree(pkeys);
+ php_openssl_release_evp_cipher(cipher);
}
/* }}} */
@@ -4435,6 +4437,7 @@ PHP_FUNCTION(openssl_open)
EVP_CIPHER_CTX_free(ctx);
out_pkey:
EVP_PKEY_free(pkey);
+ php_openssl_release_evp_cipher(cipher);
}
/* }}} */