[php-src] master: Merge branch 'PHP-8.4' into PHP-8.5

Weilin Du <[email protected]> Mon, 27 Jul 2026 14:41:46 +0000
Newsgroups gmane.comp.php.cvs.general
Message-ID <[email protected]>
Author: Weilin Du (LamentXU123)
Date: 2026-07-27T22:36:38+08:00

Commit: https://github.com/php/php-src/commit/1db9af6a6bf4a255e5ad2e699d213b34234116e9
Raw diff: https://github.com/php/php-src/commit/1db9af6a6bf4a255e5ad2e699d213b34234116e9.diff

Merge branch 'PHP-8.4' into PHP-8.5

* PHP-8.4:
  ext/curl: fix mem leak when duphandle fails in curl_clone_obj (#22899)

Changed paths:
  M  ext/curl/interface.c


Diff:

diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 65c2bdadf706..d8398c368c3c 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -411,7 +411,6 @@ static zend_object *curl_clone_obj(zend_object *object) {
 
 	clone_object = curl_create_object(curl_ce);
 	clone_ch = curl_from_obj(clone_object);
-	init_curl_handle(clone_ch);
 
 	ch = curl_from_obj(object);
 	cp = curl_easy_duphandle(ch->cp);
@@ -420,6 +419,7 @@ static zend_object *curl_clone_obj(zend_object *object) {
 		return &clone_ch->std;
 	}
 
+	init_curl_handle(clone_ch);
 	clone_ch->cp = cp;
 	_php_setup_easy_copy_handlers(clone_ch, ch);