summaryrefslogtreecommitdiff
path: root/ext/curl/multi.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/curl/multi.c')
-rw-r--r--ext/curl/multi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/curl/multi.c b/ext/curl/multi.c
index 2c2e37e402..e717fd5d9e 100644
--- a/ext/curl/multi.c
+++ b/ext/curl/multi.c
@@ -537,6 +537,12 @@ void curl_multi_free_obj(zend_object *object)
php_curl *ch;
zval *pz_ch;
+ if (!mh->multi) {
+ /* Can happen if constructor throws. */
+ zend_object_std_dtor(&mh->std);
+ return;
+ }
+
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)) {
if (!(OBJ_FLAGS(Z_OBJ_P(pz_ch)) & IS_OBJ_FREE_CALLED)) {