Commit 997ad873044 for php.net
commit 997ad8730443cf3e6fbe290484244b22f9ce980a
Author: Jarne Clauw <67628242+JarneClauw@users.noreply.github.com>
Date: Thu Jun 25 09:07:15 2026 +0200
Fixing memory leak in php_openssl_x509_fingerprint when getting mdtype with php_openssl_get_evp_md_by_name (#21965)
diff --git a/ext/openssl/openssl_backend_common.c b/ext/openssl/openssl_backend_common.c
index dddad4a0024..e5f1dbd67be 100644
--- a/ext/openssl/openssl_backend_common.c
+++ b/ext/openssl/openssl_backend_common.c
@@ -597,6 +597,7 @@ zend_string* php_openssl_x509_fingerprint(X509 *peer, const char *method, bool r
php_error_docref(NULL, E_WARNING, "Unknown digest algorithm");
return NULL;
} else if (!X509_digest(peer, mdtype, md, &n)) {
+ php_openssl_release_evp_md(mdtype);
php_openssl_store_errors();
php_error_docref(NULL, E_ERROR, "Could not generate signature");
return NULL;
@@ -610,6 +611,7 @@ zend_string* php_openssl_x509_fingerprint(X509 *peer, const char *method, bool r
ZSTR_VAL(ret)[n * 2] = '\0';
}
+ php_openssl_release_evp_md(mdtype);
return ret;
}