diff options
author | Pierrick Charron <pierrick@webstart.fr> | 2015-08-01 14:22:36 -0400 |
---|---|---|
committer | Pierrick Charron <pierrick@webstart.fr> | 2015-08-01 14:55:00 -0400 |
commit | fb37da2a4875abc2153da583faca6c7554810ce9 (patch) | |
tree | 2eced55a99ccbcd0af1564804155b0b9ea536cdf | |
parent | 2d6f0e4584375c90a895fed4074d579f364aa347 (diff) | |
download | php-git-fb37da2a4875abc2153da583faca6c7554810ce9.tar.gz |
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.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/curl/multi.c | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -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); } /* }}} */ |