felipe                                   Sun, 07 Mar 2010 00:49:34 +0000

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

Log:
- Fixed bug #50810 (property_exists does not work for private)

Bug: http://bugs.php.net/50810 (Verified) property_exists does not work for 
private 
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/NEWS
    U   php/php-src/branches/PHP_5_3/Zend/zend_builtin_functions.c
    U   php/php-src/trunk/Zend/zend_builtin_functions.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS   2010-03-07 00:43:31 UTC (rev 295909)
+++ php/php-src/branches/PHP_5_3/NEWS   2010-03-07 00:49:34 UTC (rev 295910)
@@ -19,6 +19,7 @@
 - Fixed bug #51023 (filter doesn't detect int overflows with GCC 4.4).
   (Raphael Geissert)
 - Fixed bug #50999 (unaligned memory access in dba_fetch()). (Felipe)
+- Fixed bug #50810 (property_exists does not work for private). (Felipe)
 - Fixed bug #50731 (Inconsistent namespaces sent to functions registered with
   spl_autoload_register). (Felipe)
 - Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe)

Modified: php/php-src/branches/PHP_5_3/Zend/zend_builtin_functions.c
===================================================================
--- php/php-src/branches/PHP_5_3/Zend/zend_builtin_functions.c  2010-03-07 
00:43:31 UTC (rev 295909)
+++ php/php-src/branches/PHP_5_3/Zend/zend_builtin_functions.c  2010-03-07 
00:49:34 UTC (rev 295910)
@@ -1151,10 +1151,8 @@
        }

        h = zend_get_hash_value(property, property_len+1);
-       if (zend_hash_quick_find(&ce->properties_info, property, 
property_len+1, h, (void **) &property_info) == SUCCESS) {
-               if (property_info->flags & ZEND_ACC_SHADOW) {
-                       RETURN_FALSE;
-               }
+       if (zend_hash_quick_find(&ce->properties_info, property, 
property_len+1, h, (void **) &property_info) == SUCCESS
+               && (property_info->flags & ZEND_ACC_SHADOW) == 0) {
                RETURN_TRUE;
        }


Modified: php/php-src/trunk/Zend/zend_builtin_functions.c
===================================================================
--- php/php-src/trunk/Zend/zend_builtin_functions.c     2010-03-07 00:43:31 UTC 
(rev 295909)
+++ php/php-src/trunk/Zend/zend_builtin_functions.c     2010-03-07 00:49:34 UTC 
(rev 295910)
@@ -1155,10 +1155,8 @@
        }

        h = zend_u_get_hash_value(property_type, property, property_len+1);
-       if (zend_u_hash_quick_find(&ce->properties_info, property_type, 
property, property_len+1, h, (void **) &property_info) == SUCCESS) {
-               if (property_info->flags & ZEND_ACC_SHADOW) {
-                       RETURN_FALSE;
-               }
+       if (zend_u_hash_quick_find(&ce->properties_info, property_type, 
property, property_len+1, h, (void **) &property_info) == SUCCESS
+               && (property_info->flags & ZEND_ACC_SHADOW) == 0) {
                RETURN_TRUE;
        }


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

Reply via email to