(Ilia)
- Fixed bug #42134 (oci_error() returns false after oci_new_collection()
fails). (Tony)
+- Fixed bug #42119 (array_push($arr,&$obj) doesn't work with
+ zend.ze1_compatibility_mode On). (Dmitry)
- Fixed Bug #42112 (deleting a node produces memory corruption). (Rob)
- Fixed Bug #42107 (sscanf broken when using %2$s format parameters). (Jani)
- Fixed bug #42090 (json_decode causes segmentation fault). (Hannes)
--- /dev/null
+--TEST--
+Bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On)
+--INI--
+allow_call_time_pass_reference=1
+zend.ze1_compatibility_mode=1
+--FILE--
+<?php
+class myclass {
+ var $item = 1;
+}
+
+$arr = array();
+@$myobj = new myclass();
+array_push($arr,&$myobj);
+$myobj->item = 2;
+echo $arr[0]->item,"\n";
+?>
+--EXPECT--
+2
while (param_count-->0) {
zval **value = (zval**)(p-arg_count);
- if (EG(ze1_compatibility_mode) && Z_TYPE_PP(value) == IS_OBJECT) {
+ if (EG(ze1_compatibility_mode) &&
+ Z_TYPE_PP(value) == IS_OBJECT &&
+ !(*value)->is_ref) {
zval *value_ptr;
char *class_name;
zend_uint class_name_len;