summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/curl/multi.c12
-rw-r--r--ext/curl/tests/curl_multi_close_reference.phpt20
2 files changed, 3 insertions, 29 deletions
diff --git a/ext/curl/multi.c b/ext/curl/multi.c
index e3db38b207..adab5fa219 100644
--- a/ext/curl/multi.c
+++ b/ext/curl/multi.c
@@ -105,10 +105,6 @@ void _php_curl_multi_cleanup_list(void *data) /* {{{ */
return;
}
- if (Z_RES_P(z_ch)->ptr == NULL) {
- return;
- }
-
ch = zend_fetch_resource(z_ch, -1, le_curl_name, NULL, 1, le_curl);
if (!ch) {
return;
@@ -345,11 +341,9 @@ void _php_curl_multi_close(zend_resource *rsrc) /* {{{ */
for (pz_ch = (zval *)zend_llist_get_first_ex(&mh->easyh, &pos); pz_ch;
pz_ch = (zval *)zend_llist_get_next_ex(&mh->easyh, &pos)) {
- /* ptr is NULL means it already be freed */
- if (Z_RES_P(pz_ch)->ptr) {
- ch = (php_curl *) zend_fetch_resource(pz_ch, -1, le_curl_name, NULL, 1, le_curl);
- _php_curl_verify_handlers(ch, 0);
- }
+
+ ch = (php_curl *) zend_fetch_resource(pz_ch, -1, le_curl_name, NULL, 1, le_curl);
+ _php_curl_verify_handlers(ch, 0);
}
curl_multi_cleanup(mh->multi);
diff --git a/ext/curl/tests/curl_multi_close_reference.phpt b/ext/curl/tests/curl_multi_close_reference.phpt
deleted file mode 100644
index 95f565bb28..0000000000
--- a/ext/curl/tests/curl_multi_close_reference.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-curl_multi_close closed by cleanup functions
---SKIPIF--
-<?php
-if (!extension_loaded('curl')) print 'skip';
-?>
---FILE--
-<?php
-$mh = curl_multi_init();
-$array = array($mh);
-$array[] = &$array;
-
-curl_multi_add_handle($mh, curl_init());
-curl_multi_add_handle($mh, curl_init());
-curl_multi_add_handle($mh, curl_init());
-curl_multi_add_handle($mh, curl_init());
-echo "okey";
-?>
---EXPECT--
-okey