File php-5.1.2-phpbug-36071.patch of Package php
--- Zend/zend_execute.c
+++ Zend/zend_execute.c
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.c,v 1.716.2.10 2006/01/04 23:53:04 andi Exp $ */
+/* $Id: zend_execute.c,v 1.716.2.11 2006/01/19 07:23:32 dmitry Exp $ */
#define ZEND_INTENSIVE_DEBUGGING 0
@@ -545,6 +545,16 @@
zval *value = get_zval_ptr(value_op, Ts, &free_value, BP_VAR_R);
zval **retval = &T(result->u.var).var.ptr;
+ if (*object_ptr == EG(error_zval_ptr)) {
+ FREE_OP(free_op2);
+ if (!RETURN_VALUE_UNUSED(result)) {
+ *retval = EG(uninitialized_zval_ptr);
+ PZVAL_LOCK(*retval);
+ }
+ FREE_OP(free_value);
+ return;
+ }
+
make_real_object(object_ptr TSRMLS_CC); /* this should modify object only if it's empty */
object = *object_ptr;