Commit 1fa8c0f32a4 for php.net

commit 1fa8c0f32a47ad5f19e2bfdd9bdbe0219790126b
Merge: b7c855f4c2d ebaaa7dbd32
Author: ndossche <7771979+ndossche@users.noreply.github.com>
Date:   Sat Apr 4 10:28:56 2026 +0200

    Merge branch 'PHP-8.5'

    * PHP-8.5:
      Fix memory leaks when php_openssl_dh_pub_from_priv() fails
      openssl: Propagate PHP_OPENSSL_ASN1_INTEGER_set() failure

diff --cc ext/openssl/openssl_backend_v1.c
index 0f254fb5857,6b1ab9ed056..07d414ab88a
--- a/ext/openssl/openssl_backend_v1.c
+++ b/ext/openssl/openssl_backend_v1.c
@@@ -201,8 -201,13 +201,13 @@@ static bool php_openssl_pkey_init_dh_da
  	OPENSSL_PKEY_SET_BN(data, p);
  	OPENSSL_PKEY_SET_BN(data, q);
  	OPENSSL_PKEY_SET_BN(data, g);
- 	if (!p || !g || !DH_set0_pqg(dh, p, q, g)) {
+ 	if (!p || !q) {
+ 		BN_free(p);
 -		return 0;
++		return false;
+ 	}
+
+ 	if (!DH_set0_pqg(dh, p, q, g)) {
 -		return 0;
 +		return false;
  	}

  	OPENSSL_PKEY_SET_BN(data, priv_key);
@@@ -214,7 -219,11 +219,11 @@@
  	if (priv_key) {
  		pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p);
  		if (pub_key == NULL) {
+ 			BN_free(p);
+ 			BN_free(q);
+ 			BN_free(g);
+ 			BN_free(priv_key);
 -			return 0;
 +			return false;
  		}
  		return DH_set0_key(dh, pub_key, priv_key);
  	}