From: Pierrick Charron Date: Sat, 1 Aug 2015 18:22:36 +0000 (-0400) Subject: Fixed Bug #69998 curl multi leaking memory X-Git-Tag: php-7.0.0beta3~5^2~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fb37da2a4875abc2153da583faca6c7554810ce9;p=php Fixed Bug #69998 curl multi leaking memory Fix the pointer address passed to the comparator and call zend_list_delete instead of zend_list_close to avoid closing the resource if still used. --- diff --git a/NEWS b/NEWS index 5ad8082860..7d0169d226 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,7 @@ PHP NEWS - IMAP: . Fixed bug #70158 (Building with static imap fails). (cmb) + . Fixed bug #69998 (curl multi leaking memory). (Pierrick) - Opcache: . Fixed bug #70111 (Segfault when a function uses both an explicit return diff --git a/ext/curl/multi.c b/ext/curl/multi.c index d5916d6f58..8f52b24a37 100644 --- a/ext/curl/multi.c +++ b/ext/curl/multi.c @@ -116,7 +116,7 @@ void _php_curl_multi_cleanup_list(void *data) /* {{{ */ return; } - zend_list_close(Z_RES_P(z_ch)); + zend_list_delete(Z_RES_P(z_ch)); } /* }}} */ @@ -151,7 +151,7 @@ PHP_FUNCTION(curl_multi_remove_handle) } RETVAL_LONG((zend_long)curl_multi_remove_handle(mh->multi, ch->cp)); - zend_llist_del_element(&mh->easyh, &z_ch, (int (*)(void *, void *))curl_compare_resources); + zend_llist_del_element(&mh->easyh, z_ch, (int (*)(void *, void *))curl_compare_resources); } /* }}} */