johannes                                 Thu, 17 Mar 2011 07:46:57 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=309328

Log:
- Revert r309308 temporarily to get 5.3.6 out

Changed paths:
    U   php/php-src/branches/PHP_5_3/NEWS
    D   php/php-src/branches/PHP_5_3/Zend/tests/bug54265.phpt
    U   php/php-src/branches/PHP_5_3/Zend/zend_execute.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS   2011-03-17 07:33:32 UTC (rev 309327)
+++ php/php-src/branches/PHP_5_3/NEWS   2011-03-17 07:46:57 UTC (rev 309328)
@@ -4,8 +4,6 @@
 - Zend Engine:
   . Fixed bug numerous crashes due to setlocale (crash on error, pcre, mysql
     etc.) on Windows in thread safe mode. (Pierre)
-  . Fixed bug #54265 (crash when variable gets reassigned in error handler).
-    (Dmitry)
   . Fixed bug #54262 (Crash when assigning value to a dimension in a 
non-array).
     (Dmitry)


Deleted: php/php-src/branches/PHP_5_3/Zend/tests/bug54265.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/tests/bug54265.phpt       2011-03-17 
07:33:32 UTC (rev 309327)
+++ php/php-src/branches/PHP_5_3/Zend/tests/bug54265.phpt       2011-03-17 
07:46:57 UTC (rev 309328)
@@ -1,17 +0,0 @@
---TEST--
-Bug #54265 (crash when variable gets reassigned in error handler)
---FILE--
-<?php
-function my_errorhandler($errno,$errormsg) {
-  global $my_var;
-  $my_var = 0;
-  echo "EROOR: $errormsg\n";
-}
-set_error_handler("my_errorhandler");
-$my_var = str_repeat("A",$my_var[0]->errormsg = "xyz");
-echo "ok\n";
-?>
---EXPECT--
-EROOR: Creating default object from empty value
-ok
-

Modified: php/php-src/branches/PHP_5_3/Zend/zend_execute.c
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/zend_execute.c    2011-03-17 07:33:32 UTC 
(rev 309327)
+++ php/php-src/branches/PHP_5_3/Zend/zend_execute.c    2011-03-17 07:46:57 UTC 
(rev 309328)
@@ -536,22 +536,10 @@
                    (Z_TYPE_P(object) == IS_BOOL && Z_LVAL_P(object) == 0) ||
                    (Z_TYPE_P(object) == IS_STRING && Z_STRLEN_P(object) == 0)) 
{
                        SEPARATE_ZVAL_IF_NOT_REF(object_ptr);
+                       zval_dtor(*object_ptr);
+                       object_init(*object_ptr);
                        object = *object_ptr;
-                       Z_ADDREF_P(object);
                        zend_error(E_STRICT, "Creating default object from 
empty value");
-                       if (Z_REFCOUNT_P(object) == 1) {
-                               /* object was removed by error handler, nothing 
to assign to */
-                               zval_ptr_dtor(&object);
-                               if (retval) {
-                                       *retval = &EG(uninitialized_zval);
-                                       PZVAL_LOCK(*retval);
-                               }
-                               FREE_OP(free_value);
-                               return;
-                       }
-                       Z_DELREF_P(object);
-                       zval_dtor(object);
-                       object_init(object);
                } else {
                        zend_error(E_WARNING, "Attempt to assign property of 
non-object");
                        if (!RETURN_VALUE_UNUSED(result)) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to