summaryrefslogtreecommitdiff
path: root/lang/php4/files/patch-Zend::zend_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/php4/files/patch-Zend::zend_execute.c')
-rw-r--r--lang/php4/files/patch-Zend::zend_execute.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lang/php4/files/patch-Zend::zend_execute.c b/lang/php4/files/patch-Zend::zend_execute.c
new file mode 100644
index 000000000000..bc6f098c8ad0
--- /dev/null
+++ b/lang/php4/files/patch-Zend::zend_execute.c
@@ -0,0 +1,13 @@
+--- Zend/zend_execute.c.orig Tue Dec 28 15:03:55 2004
++++ Zend/zend_execute.c Tue Dec 28 15:03:57 2004
+@@ -1577,6 +1577,10 @@
+ EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list = (zend_llist *) emalloc(sizeof(zend_llist));
+ zend_llist_init(EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list, sizeof(zend_overloaded_element), NULL, 0);
+ EX(object).ptr->refcount++;
++ /* is-ref needed so that assign to this in call won't separate it */
++ if(EX(object).ptr->refcount > 1) {
++ EX(object).ptr->is_ref = 1;
++ }
+ }
+ zend_llist_add_element(EX(Ts)[EX(opline)->op1.u.var].EA.data.overloaded_element.elements_list, &overloaded_element);
+ EX(fbc) = (zend_function *) emalloc(sizeof(zend_function));