summaryrefslogtreecommitdiff
path: root/ext/curl/multi.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-01-30 16:50:13 +0800
committerXinchen Hui <laruence@php.net>2015-01-30 16:50:13 +0800
commit348be58f869359513436f8dae44692c4c235c9dd (patch)
treea49a4ec5cf051a6a54989f1148cd8a41ca77124c /ext/curl/multi.c
parent007d5f2921bb4da0d18580fa6f566f6412d9ff4f (diff)
downloadphp-git-348be58f869359513436f8dae44692c4c235c9dd.tar.gz
Fixed warning "(null)(): supplied resource is not a valid cURL handle resource in Unknown on line 0"
Diffstat (limited to 'ext/curl/multi.c')
-rw-r--r--ext/curl/multi.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/curl/multi.c b/ext/curl/multi.c
index adab5fa219..e3db38b207 100644
--- a/ext/curl/multi.c
+++ b/ext/curl/multi.c
@@ -105,6 +105,10 @@ 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;
@@ -341,9 +345,11 @@ 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)) {
-
- ch = (php_curl *) zend_fetch_resource(pz_ch, -1, le_curl_name, NULL, 1, le_curl);
- _php_curl_verify_handlers(ch, 0);
+ /* 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);
+ }
}
curl_multi_cleanup(mh->multi);