. Fixed bug #70106 (Inheritance by anonymous class). (Bob)
. Fixed bug #69674 (SIGSEGV array.c:953). (cmb)
. Fixed bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined).
- (Bob))
- . Fixed Bug #70108 (sometimes empty $_SERVER['QUERY_STRING']). (Anatol)
+ (Bob)
+ . Fixed bug #70108 (sometimes empty $_SERVER['QUERY_STRING']). (Anatol)
+ . Fixed bug #70179 ($this refcount issue). (Bob)
- Curl:
. Fixed bug #70163 (curl_setopt_array() type confusion). (Laruence)
ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
GC_REFCOUNT(fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
+ } else {
+ call_info |= ZEND_CALL_RELEASE_THIS;
+ GC_REFCOUNT(object)++; /* For $this pointer */
}
FREE_OP2();
} else if (EXPECTED(Z_TYPE_P(function_name) == IS_ARRAY) &&
ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
GC_REFCOUNT(fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
+ } else {
+ call_info |= ZEND_CALL_RELEASE_THIS;
+ GC_REFCOUNT(object)++; /* For $this pointer */
}
} else if (EXPECTED(Z_TYPE_P(function_name) == IS_ARRAY) &&
ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
GC_REFCOUNT(fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
+ } else {
+ call_info |= ZEND_CALL_RELEASE_THIS;
+ GC_REFCOUNT(object)++; /* For $this pointer */
}
} else if (EXPECTED(Z_TYPE_P(function_name) == IS_ARRAY) &&
ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
GC_REFCOUNT(fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
+ } else {
+ call_info |= ZEND_CALL_RELEASE_THIS;
+ GC_REFCOUNT(object)++; /* For $this pointer */
}
zval_ptr_dtor_nogc(free_op2);
} else if (EXPECTED(Z_TYPE_P(function_name) == IS_ARRAY) &&